次の方法で共有


AudioManager.SetCommunicationDevice(AudioDeviceInfo) メソッド

定義

音声通話やビデオ通話など、通信のユース ケースに使用するオーディオ デバイスを選択します。

[Android.Runtime.Register("setCommunicationDevice", "(Landroid/media/AudioDeviceInfo;)Z", "GetSetCommunicationDevice_Landroid_media_AudioDeviceInfo_Handler", ApiSince=31)]
public virtual bool SetCommunicationDevice (Android.Media.AudioDeviceInfo device);
[<Android.Runtime.Register("setCommunicationDevice", "(Landroid/media/AudioDeviceInfo;)Z", "GetSetCommunicationDevice_Landroid_media_AudioDeviceInfo_Handler", ApiSince=31)>]
abstract member SetCommunicationDevice : Android.Media.AudioDeviceInfo -> bool
override this.SetCommunicationDevice : Android.Media.AudioDeviceInfo -> bool

パラメーター

device
AudioDeviceInfo

要求されたオーディオ デバイス。

戻り値

true 要求が受け入れられた場合は 。 false それ以外の場合は 。

属性

注釈

音声通話やビデオ通話など、通信のユース ケースに使用するオーディオ デバイスを選択します。 この方法は、音声またはビデオ チャット アプリケーションで使用して、プラットフォームで既定で選択されたものとは異なるオーディオ デバイスを選択できます。

デバイスの選択は、返される AudioDeviceInfo デバイスの中で #getAvailableCommunicationDevices()表されます。 シンク ロール内のデバイス (AKA 出力デバイス、参照 AudioDeviceInfo#isSink()) のみを指定できることに注意してください。 一致するソース デバイスは、プラットフォームによって自動的に選択されます。

選択は、要求するアプリケーション プロセスが有効である限り、呼び出されるまで、 #clearCommunicationDevice またはデバイスが切断されるまでアクティブになります。 そのため、呼び出しが終了したとき、または要求アクティビティまたはサービスが停止または破棄されたときに、アプリケーションが要求をクリアすることが重要です。

複数のアプリケーションによる同時要求の場合、現在オーディオ モードを制御しているアプリケーションに優先順位が与えられます (参照 #setMode(int))。 これは、モードまたはモード#MODE_IN_COMMUNICATION#MODE_IN_CALLを選択した最新のアプリケーションです。 アクセス許可を MODE_IN_CALL 持つメイン テレフォニー アプリケーションによってのみ選択できることに注意してください Manifest.permission#MODIFY_PHONE_STATE

要求されたデバイスが現在使用できない場合、要求は拒否され、メソッドは false を返します。

この API は、非推奨の API ul <><li#startBluetoothSco()><li#stopBluetoothSco()#setSpeakerphoneOn(boolean)><<>/ul<>h4>の例</h4 に代わるものです。>

次の例は、スピーカーフォン モードを有効または無効にする方法を示しています。

// Get an AudioManager instance
            AudioManager audioManager = Context.getSystemService(AudioManager.class);
            AudioDeviceInfo speakerDevice = null;
            List<AudioDeviceInfo> devices = audioManager.getAvailableCommunicationDevices();
            for (AudioDeviceInfo device : devices) {
                if (device.getType() == AudioDeviceInfo.TYPE_BUILTIN_SPEAKER) {
                    speakerDevice = device;
                    break;
                }
            }
            if (speakerDevice != null) {
                // Turn speakerphone ON.
                boolean result = audioManager.setCommunicationDevice(speakerDevice);
                if (!result) {
                    // Handle error.
                }
                // Turn speakerphone OFF.
                audioManager.clearCommunicationDevice();
            }

の Java ドキュメントandroid.media.AudioManager.setCommunicationDevice(android.media.AudioDeviceInfo)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象