8

kAudioSessionCategory_RecordAudioアプリがバックグラウンドで起動された後に起動しようとしていますが、最前線ではありません (場所が大幅に変更されたときのように、ストア内の他のアプリがこれを行うのを見たので、それが可能であることがわかっています)。ただし、そのようにオーディオセッションを開始しようとするたびに

CheckError(AudioQueueStart(queue, NULL), "AudioQueueStart failed");

次のエラーが表示されます。

Error: AudioQueueStart failed (-12985)

それで私はそれを読みましたが、提案のみがオーディオセッションをアクティブに設定することですAudioSessionSetActive(YES)が、それもエラーで失敗し'!cat'ます。どうやら、オーディオ セッションのアクティブな状態を切り替えようとすることができますが、うまくいきませんでした。

オーディオ バックグラウンド モードの plist フラグを設定し、アプリが最前面にある間にオーディオ セッションを開始し、別のアプリに切り替えると機能します (録音中であることを示す赤いバーが表示されます)。アプリが最前線にないときにオーディオセッションを開始するだけが問題です。

バックグラウンドで録音オーディオセッションを開始する方法を示すサンプルプロジェクトを持っている人はいますか?

注:ファイルではなくバッファ内のオーディオが必要なため、オーディオキューを使用するソリューションを探しています。

4

2 に答える 2

4

オーディオ マルチタスク フラグを info.plist に追加し、適切な重要な位置変更 API を追加するだけで、いくつかの変更を加えた Apple の SpeakHere サンプル コードがバックグラウンドでオーディオの録音を開始することがわかりました。Apple はしばらく SpeakHere を更新していないため、SpeakHere の更新バージョンについてはhttps://github.com/benvium/SpeakHereを参照してください。

于 2013-06-03T14:04:45.810 に答える