AudioManager.SetCommunicationDevice(AudioDeviceInfo) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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_STATE
ausgewä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();
}
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.