Partager via


AudioManager.SetCommunicationDevice(AudioDeviceInfo) Méthode

Définition

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

Documentation Java pour android.media.AudioManager.setCommunicationDevice(android.media.AudioDeviceInfo).

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.

S’applique à