共用方式為


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 否則為 。

屬性

備註

選取應該用於通訊使用案例的音訊裝置,例如語音或視訊通話。 語音或視訊聊天應用程式可以使用此方法來選取與平臺預設選取的音訊裝置不同。

裝置選取範圍會在所#getAvailableCommunicationDevices()傳回的裝置之間表示為 AudioDeviceInfo 。 請注意,只能指定接收角色中的裝置(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 li<#startBluetoothSco()><>#setSpeakerphoneOn(boolean)#stopBluetoothSco()<>/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();
            }

android.media.AudioManager.setCommunicationDevice(android.media.AudioDeviceInfo)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於