Alex_
@Alex_

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

【Swift】iOSアプリで遅延なく効果音を鳴らす方法

解決したいこと

Swiftを使って、ボタンを押すと音声出力されるiOSアプリを作っています。
主観ですが、効果音を鳴らすときに遅延が発生しているようなので無くしたいです。

具体的にはドラムアプリを作成しているので、
Spotify等の再生を止めずに、遅延なく、効果音を出力させる方法
が知りたいです。

現状「Spotify等の再生を止めずに」は出来ていますが、「遅延なく」が出来ていない状況です。
詳しい方、よろしくお願いいたします。

現在のコード

import UIKit
import AudioToolbox

class CollectionViewCell: UICollectionViewCell {
    @IBOutlet weak var button: UIButton!

    override func awakeFromNib() {
        super.awakeFromNib()

    }

    //ボタンを押した時
    @IBAction func touchDownButton(_ sender: UIButton) {
        var soundId:SystemSoundID = 0

        //効果音を出力
        if let soundUrl:NSURL = NSURL(fileURLWithPath:Bundle.main.path(forResource: "ファイル名", ofType:"caf")!) as NSURL?{
            AudioServicesCreateSystemSoundID(soundUrl, &soundId)
            AudioServicesPlaySystemSound(soundId)
        }
    }
}

自分で試したこと

OpenALを試してみましたが、自分の実装ではBGMが止まってしまいました。
AVAudioPlayerでは、明らかに遅延していたのでAudioToolboxを使用しています。
少しは改善したようですが、まだラグが気になります。
iOSアプリで効果音を鳴らすとき、どのフレームワークを使用するが最善なのでしょうか...

0

No Answers yet.

Your answer might help someone💌