AudioQueue 修剪和缓冲区大小
Posted
技术标签:
【中文标题】AudioQueue 修剪和缓冲区大小【英文标题】:AudioQueue trimming and buffer size 【发布时间】:2012-05-12 08:59:21 【问题描述】:尽管应用程序按预期工作,但我在控制台中收到一条消息,我想更详细地了解它。
设置如下。创建一个 AVAudioPlayer 并加载一个 .m4a 文件(长度为 03:22,大小为 618 KB)。该文件的比特率为 23 kbps。我意识到比特率非常低,但这对于应用程序来说是可以接受的。
每当我调整音频播放器的 currentTime 属性时,我都会收到以下消息记录到控制台。
AudioQueue:请求从缓冲区修剪 2112 + 0 = 2112 帧 包含 1024 帧
设置 currentTime 属性的结果符合预期,但我想知道这条消息的确切含义以及我能做些什么来防止它出现。
【问题讨论】:
我也得到了这个,很想知道原因。你发现了吗? 很遗憾,我没有找到答案,甚至没有找到这个问题的答案。 【参考方案1】:为我工作:在设置其 currentTime 属性之前停止播放器。然后设置 currentTime,prepareToPlay 并播放。
[avAudioPlayer stop];
[avAudioPlayer setCurrentTime:newCurrentTime];
[avAudioPlayer prepareToPlay];
[avAudioPlayer play];
来源:http://eureka.ykyuen.info/2010/06/10/iphone-add-an-uislider-for-avaudioplayer/
【讨论】:
[player stop] 修复了这个错误,如果你之后没有设置当前时间。非常感谢!以上是关于AudioQueue 修剪和缓冲区大小的主要内容,如果未能解决你的问题,请参考以下文章