很长时间潜伏,但第一次发布海报,所以请耐心等待我!
作为一些背景信息,该应用程序是一个多任务拼图,包括一些心理数学。当用户点击正确的答案时,应播放声音,表明答案已正确。
我遇到的问题是,第一次播放声音会有一个短暂的延迟,它在开始时似乎正在消失。我曾尝试使用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)
}
}