2011-02-01 31 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和音頻隊列服務)播放壓縮音頻,則需要在完成播放後釋放設備一次,因爲它們都共享相同的設備。

相關問題