在iOS中播放音频:在特定时间延迟播放

时间:2015-09-23 16:04:33

标签: ios audio delay avaudioplayer swift2

很长时间潜伏,但第一次发布海报,所以请耐心等待我!

作为一些背景信息,该应用程序是一个多任务拼图,包括一些心理数学。当用户点击正确的答案时,应播放声音,表明答案已正确。

我遇到的问题是,第一次播放声音会有一个短暂的延迟,它在开始时似乎正在消失。我曾尝试使用AudioServicesCreateSystemSoundID和AVAudioPlayer,但两个解决方案都遇到了同样的问题。

uploaded a short video说明了我的问题(注意第一次和随后的ping之间的区别)。

有趣的是,对于之后播放的任何声音都不会发生此延迟,但是如果在约10秒钟内没有播放声音,则会出现同样的问题。

我只能假设这与iOS初始化和保留其音频硬件的方式有关。我试图按照其他一些建议播放一段无声音频,但无济于事。

我的实施的非常简化的摘要如下:

import AudioToolbox

class myViewController: UIViewController {

    var soundID: SystemSoundID = 0

    override func viewDidLoad() {
        AudioServicesCreateSystemSoundID(NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Ping", ofType: "mp3")!), &soundID)
    }

    @IBAction func correctButtonPressed() {
        AudioServicesPlaySystemSound(soundID)
    }
}

0 个答案:

没有答案