ios - AudioQueue 修剪和缓冲区大小

标签 ios avfoundation avaudioplayer

尽管应用程序按预期工作,但我在控制台中收到一条消息,我想更详细地了解它。

设置如下。创建一个 AVAudioPlayer 并加载一个 .m4a 文件(长度为 03:22,大小为 618 KB)。该文件的比特率为 23 kbps。我意识到比特率很低,但这对于应用程序来说是可以接受的。

每当我调整音频播放器的 currentTime 属性时,我都会将以下消息记录到控制台。

AudioQueue: request to trim 2112 + 0 = 2112 frames from buffer containing 1024 frames

设置 currentTime 属性的结果符合预期,但我想知道这条消息的确切含义以及我可以做些什么来防止它出现。

最佳答案

对我有用:在设置其 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/

关于ios - AudioQueue 修剪和缓冲区大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10562332/

相关文章:

swift - 使用 PHCachingImageManager().requestAVAsset 时崩溃

ios - AVFoundation 无法扫描低对比度二维码

ios - 使用 Swift 播放随机音频文件

iphone - AVAudio 中的remoteControlReceivedWithEvent 未被调用

ios - 在写入磁盘之前,在录制时将 CATextLayer Overlay 写入 AVCaptureSession

objective-c - 如何在 ios 中使用 AVAudiorecorder 录制音频时过滤背景噪音?

ios - 快速裁剪视频

objective-c - 使用 xcodebuild 的 NSUserdefaults

objective-c - 在表格 View 单元格内的 UIImageView 中设置图像

ios - XCode 中企业应用程序的 iOS 字幕设置在哪里