1

recording with AudioUnitConversionAudio EditingMergingパーツで iPhone アプリを作成しました。を除くすべてを行いConversionました。このアプリは iOS 4 以降でのみ動作します。

.caf を .m4a ファイルに変換しようとしました。しかし、私はkAudioConverterErr_HardwareInUseエラーが発生しています。次に、.caf ファイルを .wav ファイルに変換しようとしました。次に、.wav ファイルを .m4a ファイルに変換します。しかし、私は同じ問題を抱えています。

この問題については明確ではありません。Appleのドキュメントでは、彼らは次のように言及しています。

AudioConverterFillComplexBuffer「おそらくオーディオの中断が原因で、基盤となるハードウェア コーデックが利用できなくなった場合、関数から返されます。

このエラーを受け取ったら、アプリケーションは の呼び出しを停止する必要がありますAudioConverterFillComplexBuffer。プロパティの値を確認して、kAudioConverterPropertyCanResumeFromInterruption使用しているコンバーターが中断後に処理を再開できるかどうかを判断できます。その場合は、オーディオ セッション サービスからの割り込み終了コールを待ち、オーディオ セッションを再度アクティブにして、最後にコーデックの使用を再開します。

中断後にコンバーターが処理を再開できない場合は、中断時に変換を中止し、コンバーターを再インスタンス化して、変換を再度実行する必要があります。」

解決するのを手伝ってください。

4

1 に答える 1

0

私はちょうどそのような問題を解決しました。私の場合、アプリケーションに MPMoviePlayerController、Audio Queue Player、Audio Recorder があります。

ムービー プレーヤーは、コンテンツの終了時に「stop」メソッドを手動で呼び出す必要があります。それ以外の場合、再生状態は MPMoviePlaybackStatePlaying でロックされます。その後、MP3 を再生できなくなり、試してみると "hwiu" が表示されます。しかし、PCM はまだ動作します。

おそらく、圧縮されたオーディオ (MP3、AAC など) が独自のハードウェア デバイスによって処理されているためです。異なる手法 (MPMoviePlayerController とオーディオ キュー サービス) を使用して圧縮オーディオを再生している場合、それらはすべて同じデバイスを共有しているため、再生が終了したら一度デバイスを解放する必要があります。

于 2011-05-10T01:08:59.143 に答える