Condividi tramite


AudioManager.SetCommunicationDevice(AudioDeviceInfo) Metodo

Definizione

Seleziona il dispositivo audio che deve essere usato per i casi d'uso delle comunicazioni, ad esempio chiamate vocali o video.

[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

Parametri

device
AudioDeviceInfo

il dispositivo audio richiesto.

Restituisce

true se la richiesta è stata accettata, false in caso contrario.

Attributi

Commenti

Seleziona il dispositivo audio che deve essere usato per i casi d'uso delle comunicazioni, ad esempio chiamate vocali o video. Questo metodo può essere usato dalle applicazioni vocali o video chat per selezionare un dispositivo audio diverso da quello selezionato per impostazione predefinita dalla piattaforma.

La selezione del dispositivo viene espressa come tra AudioDeviceInfo i dispositivi restituiti da #getAvailableCommunicationDevices(). Si noti che è possibile specificare solo i dispositivi in un ruolo sink (dispositivi di output AKA, vedere AudioDeviceInfo#isSink()). Il dispositivo di origine corrispondente viene selezionato automaticamente dalla piattaforma.

La selezione è attiva finché il processo dell'applicazione richiedente non viene chiamato o finché #clearCommunicationDevice il dispositivo non viene disconnesso. È quindi importante per le applicazioni cancellare la richiesta quando una chiamata termina o l'attività o il servizio richiedente viene arrestato o eliminato definitivamente.

In caso di richieste simultanee da parte di più applicazioni la priorità viene assegnata all'applicazione attualmente controllando la modalità audio (vedere #setMode(int)). Questa è l'applicazione più recente che ha selezionato la modalità #MODE_IN_COMMUNICATION o la modalità #MODE_IN_CALL. Si noti che MODE_IN_CALL l'applicazione di telefonia principale può essere selezionata solo con l'autorizzazione Manifest.permission#MODIFY_PHONE_STATE.

Se i dispositivi richiesti non sono attualmente disponibili, la richiesta verrà rifiutata e il metodo restituirà false.

Questa API sostituisce le API deprecate seguenti: <ul<>li#startBluetoothSco()<>li#stopBluetoothSco()><li<#setSpeakerphoneOn(boolean)>/ul<>h4>Example</h4>

L'esempio seguente mostra come abilitare e disabilitare la modalità altoparlante.

// 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();
            }

Documentazione java per android.media.AudioManager.setCommunicationDevice(android.media.AudioDeviceInfo).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a