1

我创建了一个带有recording with AudioUnitConversion和部件Audio Editing的iPhone 应用程序。Merging我什么都做了,除了Conversion。此应用程序仅适用于 iOS 4 或更高版本。

我试图将 .caf 转换为 .m4a 文件。但我收到kAudioConverterErr_HardwareInUse错误。然后我尝试将 .caf 文件转换为 .wav 文件。然后将 .wav 文件转换为 .m4a 文件。但我遇到了同样的问题。

我不清楚这个问题。在Apple 文档中,他们提到了类似;

“如果底层硬件编解码器变得不可用,则从AudioConverterFillComplexBuffer函数返回,可能是由于音频中断。

收到此错误后,您的应用程序必须停止调用AudioConverterFillComplexBuffer. 您可以检查该kAudioConverterPropertyCanResumeFromInterruption属性的值以确定您使用的转换器是否可以在中断后恢复处理。如果是这样,则等待来自音频会话服务的中断结束呼叫,重新激活音频会话,最后恢复使用编解码器。

如果转换器在中断后无法恢复处理,那么在中断时您必须放弃转换,重新实例化转换器,然后再次执行转换。”

请帮我解决它。

4

1 回答 1

0

我刚刚解决了这样一个问题。就我而言,我在应用程序中有 MPMoviePlayerController、音频队列播放器、录音机。

电影播放器​​需要在内容结束时手动调用“停止”方法。否则播放状态锁定在 MPMoviePlaybackStatePlaying。然后我无法再播放 MP3 并在尝试时得到“hwiu”。但PCM仍然有效。

可能是因为压缩音频(MP3、AAC、...)是由独特的硬件设备处理的。如果您使用不同的技术(MPMoviePlayerController 和音频队列服务)来播放压缩音频,您需要在播放完毕后释放一次设备,因为它们都共享同一个设备。

于 2011-05-10T01:08:59.143 回答