第一次音频开始延迟 - ios Swift

Audio Start Delay For The First Time - ios Swift

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

我正在使用以下代码播放音频

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

请有人帮我找到这个问题。

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

我们的想法是让玩家在实际玩之前有一段时间做好准备:

currentAudio?.prepareToPlay()

然后稍后,在您的播放功能中,它会立即开始:

currentAudio?.play()