我正在创建一个带有五个按钮的应用程序。当我点击每个按钮时,每个音频都会播放。这是工作。现在我的问题是当我点击第一个按钮音频播放延迟1秒(应用程序停留1秒)并播放。下次单击按钮音频播放没有任何延迟。这可能是什么问题?
我使用以下代码播放音频
var currentAudio = try? AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("sample_audio", ofType: "mp3")!));
currentAudio!.stop()
currentAudio!.currentTime = 0
currentAudio!.play();
有人帮我找到这个问题。
答案 0 :(得分:1)
您可以使用AVAudioPlayer的.prepareToPlay()
方法preload the player's buffers,它会提高AVAudioPlayer的性能(更快启动)。
这个想法是让玩家在实际播放之前准备一段时间:
currentAudio?.prepareToPlay()
然后,在你的游戏功能中,它将立即开始:
currentAudio?.play()