AudioManager.SetCommunicationDevice(AudioDeviceInfo) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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();
}
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.