我正在创建一个有五个按钮的应用程序。当我点击每个按钮时,每个音频都会播放。这是工作。现在我的问题是当我点击第一个按钮音频播放延迟 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()
关于ios - 第一次音频启动延迟 - ios Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35035981/