2011-02-01 147 views
1

我已经创建了一个iPhone应用程序recording with AudioUnit,Conversion,Audio EditingMerging部分。我做了除Conversion之外的所有事情。此应用只能在iOS 4或更高版本中使用。如何解决“硬件使用中”问题(错误代码:'hwiu')?

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

我不清楚这个问题。在Apple documentation,他们提到像;

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

收到此错误后,您的应用程序必须停止调用AudioConverterFillComplexBuffer,你可以检查kAudioConverterPropertyCanResumeFromInterruption的价值属性来确定您正在使用的转换器是否可以在中断后恢复处理,如果是,则等待来自音频会话服务的中断结束呼叫,重新激活音频会话,并最终恢复使用编解码器。转换器在中断后不能恢复处理,然后中断ñ您必须放弃转换,重新实例化转换器,然后再次执行转换。“

请帮我解决它。

回答

0

我刚刚解决了这样的问题。 在我的情况下,我有应用程序中的MPMoviePlayerController,音频队列播放器,录音机。

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

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

相关问题