AudioManager.SetCommunicationDevice(AudioDeviceInfo) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Selecciona el dispositivo de audio que se debe usar para casos de uso de comunicación, por ejemplo, llamadas de voz o vídeo.
[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
Parámetros
- device
- AudioDeviceInfo
el dispositivo de audio solicitado.
Devoluciones
true
si se aceptó la solicitud; de lo contrario, false
.
- Atributos
Comentarios
Selecciona el dispositivo de audio que se debe usar para casos de uso de comunicación, por ejemplo, llamadas de voz o vídeo. Las aplicaciones de chat de voz o vídeo pueden usar este método para seleccionar un dispositivo de audio diferente al seleccionado de forma predeterminada por la plataforma.
La selección del dispositivo se expresa como entre AudioDeviceInfo
los dispositivos devueltos por #getAvailableCommunicationDevices()
. Tenga en cuenta que solo se pueden especificar dispositivos en un rol receptor (dispositivos de salida de AKA, consulte AudioDeviceInfo#isSink()
). La plataforma selecciona automáticamente el dispositivo de origen coincidente.
La selección está activa siempre que el proceso de solicitud de aplicación se mantenga activo, hasta #clearCommunicationDevice
que se llame a o hasta que se desconecte el dispositivo. Por lo tanto, es importante que las aplicaciones borren la solicitud cuando finaliza una llamada o se detiene o se destruye la actividad o el servicio solicitante.
En el caso de solicitudes simultáneas por varias aplicaciones, la prioridad se asigna a la aplicación que controla actualmente el modo de audio (consulte #setMode(int)
). Esta es la aplicación más reciente que tiene seleccionado el modo #MODE_IN_COMMUNICATION
o el modo #MODE_IN_CALL
. Tenga en cuenta que MODE_IN_CALL
la aplicación de telefonía principal solo puede seleccionarla con permiso Manifest.permission#MODIFY_PHONE_STATE
.
Si los dispositivos solicitados no están disponibles actualmente, se rechazará la solicitud y el método devolverá false.
Esta API reemplaza las siguientes API en desuso: <ul><li<>#startBluetoothSco()
li li><#stopBluetoothSco()
li h4>><<#setSpeakerphoneOn(boolean)
> Example</h4>
En el ejemplo siguiente se muestra cómo habilitar y deshabilitar el modo de altavoz.
// 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();
}
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.