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

标签 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();

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

最佳答案

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

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

currentAudio?.prepareToPlay()

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

currentAudio?.play()

关于ios - 第一次音频启动延迟 - ios Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35035981/

相关文章:

ios - 在 MapView 上绘制矩形

iphone - 标签在横向模式下无法正确对齐

ios - listView 不显示,除非我滚动它

html - 加载音频时出现 ERR_CONTENT_LENGTH_MISMATCH

ios - 函数 'AudioServicesPlaySystemSoundWithVibration'的隐式声明在c99中无效

ios - 使用 nm、strings 和/或 otool 查找错误使用框架或方法的库

ios - RAC 4.0 如何正确链接 SignalProducers?

performance - 为什么在 Swift 中更新类属性比本地更新慢?

swift - 如何将自定义排序应用于此对象数组?

android - AudioRecord 没有足够的内存用于 AudioTrack