ゲームにVOIPを追加する(クロスプラットフォームなので、Appleのゲームキットを使用することはできません)。録音中のオーディオユニットリモートIO再生
3または4日間、私はオーディオユニットとリモートIOの周りを包み込むようにしようとしています... 私は数十の例を見落としましたが、そのたびに単純なアルゴリズムをPCMを入力してスピーカーで再生します。 Appleの文書によると、VOIPを行うために、kAudioSessionCategory_PlayAndRecordを使用する必要があります。
UInt32 audioCategory = kAudioSessionCategory_PlayAndRecord;
status = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
sizeof(audioCategory),
&audioCategory);
XThrowIfError(status, "couldn't set audio category");
1)しかし、aurioTouch// excatly PerformThruコールバックplayAndRecordは、常にマイクから来るものを再生する(またはそれ以上になることを()私には思える)、私は間違っていますか?
私は私が(未直接のコースが、データはそれから来る)ピアにデータを送信しようとするんだというコールバックからAURender
static OSStatus PerformThru(
void *inRefCon,
AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData)
{
OSStatus err = AudioUnitRender(THIS->rioUnit, ioActionFlags, inTimeStamp, 1, inNumberFrames, ioData);
if (err)
printf("PerformThru: error %d\n", (int)err);
return err
}
が、何もしない、最も単純なコールバックを持っています...
2単位、1レコーディング、1レッスンを除いて、入力とは異なる出力を再生する方法はわかりませんが、アップルが意図したものではないようです。
そしてもちろん、私はオーディオユニットは、まだ未ドキュメント化はかなりあり、それについての任意のドキュメントを見つけることができません...
誰もがそれを行うための最善の方法であるもののアイデアを持っているでしょうか?
検索中にこのサンプルを作成したことはありませんでした。 – TheSquad
ポストにお礼ありがとうございます。私はこれを長い間探し続けてきました。あなたは私の問題を解決しました。たくさんのことをありがとうございました。 –
レコーダーのオーディオバッファを保存するにはどうすればいいですか? –