2

オーディオ セッションが設定されると、次のコードで Bluetooth 入力が許可されます。

UInt32 allowBluetoothInput = 1;
AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryEnableBluetoothInput, sizeof (allowBluetoothInput), &allowBluetoothInput);

このコードは Bluetooth 入力のみを許可しているように見えますが、このコードはオーディオ出力を Bluetooth デバイスにもルーティングします (Bluetooth ヘッドセットの場合)。入力がBluetoothデバイスから来ているときに、オーディオ出力をライン出力またはスピーカーからルーティングしたいと思います。Bluetoothデバイスからオーディオ入力を取得したいだけで、Bluetooth経由でオーディオを出力したくありません。

この動作は可能ですか?

4

1 に答える 1

2

iOS 5 の時点では、この動作は不可能です。アップルのテクニカル サポートを引用します。

Bluetooth デバイスは「ジャックイン」デバイスではないため、他のオーディオ ルーティングはユーザーが選択する必要があり、コードで変更することはできません。これを行うには、MPVolumeView の機能を使用できます。MPVolumeView には、ユーザーが出力のルーティングを指定できるように表示可能な追加のルーティング ウィジェットがあります。

Core Audio メーリング リストにこの機能に関する古いスレッドがありますが、動作は変更されていません。

http://lists.apple.com/archives/coreaudio-api/2009/Oct/msg00030.html

MPVolumeView リファレンス:

http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPVolumeView_Class/Reference/Reference.html

ただし、MPVolumeView では、入力と出力を個別にルーティングすることはできません。

于 2011-12-01T07:01:44.197 に答える