Freigeben über


AudioManager.SetCommunicationDevice(AudioDeviceInfo) Methode

Definition

Wählt das Audiogerät aus, das für Kommunikationsanwendungsfälle verwendet werden soll, z. B. Sprach- oder Videoanrufe.

[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

Parameter

device
AudioDeviceInfo

das angeforderte Audiogerät.

Gibt zurück

true wenn die Anforderung akzeptiert wurde, false andernfalls.

Attribute

Hinweise

Wählt das Audiogerät aus, das für Kommunikationsanwendungsfälle verwendet werden soll, z. B. Sprach- oder Videoanrufe. Diese Methode kann von Sprach- oder Videochatanwendungen verwendet werden, um ein anderes Audiogerät als das von der Plattform standardmäßig ausgewählte Gerät auszuwählen.

Die Geräteauswahl wird als eine AudioDeviceInfo unter den von ihnen zurückgegebenen #getAvailableCommunicationDevices()Geräte ausgedrückt. Beachten Sie, dass nur Geräte in einer Senkenrolle (AKA-Ausgabegeräte, siehe AudioDeviceInfo#isSink()) angegeben werden können. Das übereinstimmende Quellgerät wird automatisch von der Plattform ausgewählt.

Die Auswahl ist aktiv, solange der anfordernde Anwendungsprozess aktiv ist, bis #clearCommunicationDevice sie aufgerufen wird oder bis die Verbindung des Geräts getrennt wird. Es ist daher wichtig, dass Anwendungen die Anforderung löschen, wenn ein Anruf endet oder die anfordernde Aktivität oder der angeforderte Dienst beendet oder zerstört wird.

Bei gleichzeitigen Anforderungen mehrerer Anwendungen wird die Priorität der Anwendung zugewiesen, die derzeit den Audiomodus steuert (siehe #setMode(int)). Dies ist die neueste Anwendung mit ausgewähltem Modus #MODE_IN_COMMUNICATION oder Modus #MODE_IN_CALL. Beachten Sie, dass MODE_IN_CALL nur von der Haupttelefonieanwendung mit Berechtigung Manifest.permission#MODIFY_PHONE_STATEausgewählt werden kann.

Wenn die angeforderten Geräte derzeit nicht verfügbar sind, wird die Anforderung abgelehnt, und die Methode gibt "false" zurück.

Diese API ersetzt die folgenden veralteten APIs: <ul><li>#startBluetoothSco()<li li><#setSpeakerphoneOn(boolean)<>#stopBluetoothSco()/ul<>h4 Example</h4>>

Das folgende Beispiel zeigt, wie Sie den Freisprechmodus aktivieren und deaktivieren.

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

Java-Dokumentation für android.media.AudioManager.setCommunicationDevice(android.media.AudioDeviceInfo).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: