OpenSLをレコードすることができますか?
質問
ゲームからの発信音声をキャプチャして、それを再生されているオーディオファイルに記録したいと思います。これはOpenSLのフレームワーク内で可能ですか?OutputMixをaudoorecorderに接続することによって、または何か?
先進感ありがとうございました。
解決
キューにコールバックを登録し、出力のバッファキューにエンキューされる前後の出力バッファを取得することができます。新しいバッファの各エンキューに書き込まれているWAVBUFFER(バッファサイズの長さが短い配列)を持つことができます。このバッファの内容はファイルに書き込まれます。
outBuffer = p->outputBuffer[p->currentOutputBuffer]; // obtain float buffer
for ( int i = 0; i < bufferSize; ++i )
wavBuffer = ( short ) outBuffer[ i ] * 32768; // convert float to short
// now append contents of wavBuffer into a file
.
キューコールバックの基本OpenSL設定は、いくつかの詳細で説明されていますこちらあなたはそのヘッダーの一部として合計wavファイルの実際のサイズのかなり確実な考えを持っていなければなりません。
所属していません StackOverflow