音频启动延迟第一次 - ios Swift

时间:2016-01-27 11:23:11

标签: ios swift audio avaudioplayer

我正在创建一个带有五个按钮的应用程序。当我点击每个按钮时,每个音频都会播放。这是工作。现在我的问题是当我点击第一个按钮音频播放延迟1秒(应用程序停留1秒)并播放。下次单击按钮音频播放没有任何延迟。这可能是什么问题?

我使用以下代码播放音频

var currentAudio = try? AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("sample_audio", ofType: "mp3")!));
 currentAudio!.stop()
currentAudio!.currentTime = 0
 currentAudio!.play();

有人帮我找到这个问题。

1 个答案:

答案 0 :(得分:1)

您可以使用AVAudioPlayer的.prepareToPlay()方法preload the player's buffers,它会提高AVAudioPlayer的性能(更快启动)。

这个想法是让玩家在实际播放之前准备一段时间:

currentAudio?.prepareToPlay()

然后,在你的游戏功能中,它将立即开始:

currentAudio?.play()