2011-02-01 37 views
1

recording with AudioUnitConversionAudio EditingMergingという部分でiPhoneアプリを作成しました。私はConversion以外すべてをしました。このアプリはiOS 4以降でのみ動作します。"ハードウェア使用中"の問題(エラーコード: 'hwiu')を解決するには?

.cafを.m4aファイルに変換しようとしました。しかし、私はkAudioConverterErr_HardwareInUseエラーを取得しています。その後、.cafファイルを.wavファイルに変換しようとしました。次に.wavファイルから.m4aファイルへ。しかし、私は同じ問題を抱えています。

この問題は明確ではありません。 Apple documentationには、次のように記載されています。

は、「基盤となるハードウェアコーデックは、おそらく音声の途切れに、使用できなくなった場合AudioConverterFillComplexBuffer関数から返さ。

をこのエラーを受信すると、アプリケーションがAudioConverterFillComplexBufferの呼び出しを停止しなければなりません。あなたはkAudioConverterPropertyCanResumeFromInterruptionの値を確認することができますプロパティを使用して、使用中のコンバーターが中断後に処理を再開できるかどうかを判断します。そうであれば、Audio Session Servicesからの中断終了の呼び出しを待ってからオーディオセッションを再度アクティブにし、最後にコーデックの使用を再開します。

コンバータは中断後に処理を再開することはできません。変換を中止してコンバータを再インスタンス化し、変換を再度実行する必要があります。

解決に手伝ってください。

答えて

0

私はこのような問題を解決しました。 私の場合、私はMPMoviePlayerController、オーディオキュープレーヤー、オーディオレコーダーをアプリケーションに持っています。

コンテンツが終了すると、ムービープレーヤは手動で「停止」メソッドを呼び出す必要があります。 それ以外の場合、再生状態はMPMoviePlaybackStatePlayingでロックされます。その後、私はMP3を再生して、それを試してみると "風味"を得ることはできません。しかし、PCMはまだ動作します。

圧縮されたオーディオ(MP3、AAC、...)は、固有のハードウェアデバイスによって処理される可能性があります。別のテクニック(MPMoviePlayerControllerとオーディオキューサービス)を使用して圧縮オーディオを再生する場合は、すべて同じデバイスを共有しているため、再生を終了してからデバイスを解放する必要があります。

関連する問題