AudioManager.SetCommunicationDevice(AudioDeviceInfo) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Sélectionne l’appareil audio qui doit être utilisé pour les cas d’usage de communication, par exemple les appels vocaux ou vidéo.
[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
Paramètres
- device
- AudioDeviceInfo
l’appareil audio demandé.
Retours
true
si la demande a été acceptée, false
sinon.
- Attributs
Remarques
Sélectionne l’appareil audio qui doit être utilisé pour les cas d’usage de communication, par exemple les appels vocaux ou vidéo. Cette méthode peut être utilisée par les applications de conversation vocale ou vidéo pour sélectionner un autre appareil audio que celui sélectionné par défaut par la plateforme.
La sélection de l’appareil est exprimée sous la forme d’un AudioDeviceInfo
appareil retourné par #getAvailableCommunicationDevices()
. Notez que seuls les appareils d’un rôle récepteur (appareils de sortie AKA, voir AudioDeviceInfo#isSink()
) peuvent être spécifiés. L’appareil source correspondant est sélectionné automatiquement par la plateforme.
La sélection est active tant que le processus d’application demandeur vit, jusqu’à ce qu’il #clearCommunicationDevice
soit appelé ou tant que l’appareil n’est pas déconnecté. Il est donc important que les applications effacent la demande lorsqu’un appel se termine ou que l’activité ou le service demandeur est arrêté ou détruit.
En cas de demandes simultanées par plusieurs applications, la priorité est donnée à l’application qui contrôle actuellement le mode audio (voir #setMode(int)
). Il s’agit de la dernière application ayant sélectionné le mode ou le mode #MODE_IN_COMMUNICATION
#MODE_IN_CALL
. Notez que vous ne pouvez sélectionner que MODE_IN_CALL
par l’application de téléphonie principale avec l’autorisation Manifest.permission#MODIFY_PHONE_STATE
.
Si les appareils demandés ne sont pas actuellement disponibles, la demande est rejetée et la méthode retourne false.
Cette API remplace les API déconseillées suivantes : <ul><li li<>#startBluetoothSco()
li#stopBluetoothSco()
#setSpeakerphoneOn(boolean)
><<>/ul<>h4>Example</h4>
L’exemple ci-dessous montre comment activer et désactiver le mode haut-parleur.
// 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();
}
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.