次の機能を備えた iPad 用のアプリを作成したいと考えています。
ヘッドセットと 30 ピン コネクタ スピーカー/マイクが同時に接続されている場合、ユーザーはリアルタイム オーディオ ストリーミング用に入力パスと出力パスの両方を個別に選択できます。
例:
ユーザーは、タッチ イベントを介して入力デバイスをヘッドセット マイクとして選択し、出力デバイスを内部スピーカーとして選択します。その後、ユーザーはヘッドセットのマイクに向かって話すことができ、リアルタイムで内蔵スピーカーから自分の声を聞くことができます。
次に、ユーザーは 30 ピン マイクを入力として選択し、ヘッドセット スピーカーを出力として選択します。同様に、30 ピン マイクに向かって話し、ヘッドセット スピーカーで出力を聞きます。
次のような呼び出しは、入力または出力を同じペリフェラルに自動的に変更するため、機能しません。
CFStringRef audioInputOverride = kAudioSessionInputRoute_HeadsetMic;
AudioSessionSetProperty (kAudioSessionProperty_InputSource, sizeof(audioInputOverride), &audioInputOverride);
CFStringRef audioOutputOverride = kAudioSessionOutputRoute_USBAudio;
AudioSessionSetProperty (kAudioSessionProperty_OutputDestination, sizeof(audioOutputOverride),&audioOutputOverride);
リアルタイム オーディオ ストリーミングで入力/出力を個別に選択できますか?