Sprache

AudioManager.StartBluetoothSco Methode

Definition

Starten Sie bluetooth SCO-Audioverbindung.

[Android.Runtime.Register("startBluetoothSco", "()V", "GetStartBluetoothScoHandler")]
public virtual void StartBluetoothSco();
[<Android.Runtime.Register("startBluetoothSco", "()V", "GetStartBluetoothScoHandler")>]
abstract member StartBluetoothSco : unit -> unit
override this.StartBluetoothSco : unit -> unit
Attribute

Hinweise

Starten Sie bluetooth SCO-Audioverbindung.

Erfordert Berechtigung: Manifest.permission#MODIFY_AUDIO_SETTINGS.

Diese Methode kann von Anwendungen verwendet werden, die Audio an/von einem Bluetooth SCO-Headset senden und empfangen möchten, während das Telefon nicht anruft.

Da die SCO-Verbindungseinrichtung mehrere Sekunden dauern kann, sollten Anwendungen nicht darauf angewiesen sein, dass die Verbindung verfügbar ist, wenn die Methode zurückgegeben wird, sondern sich registrieren, um die Absicht #ACTION_SCO_AUDIO_STATE_UPDATED zu empfangen und auf den Zustand zu #SCO_AUDIO_STATE_CONNECTEDwarten.

Da die ACTION_SCO_AUDIO_STATE_UPDATED Absicht sticky ist, kann die Anwendung den SCO-Audiozustand überprüfen, bevor sie startBluetoothSco() aufrufen, indem sie die von der Empfängerregistrierung zurückgegebene Absicht lesen. Wenn der Zustand bereits VERBUNDEN ist, wird nach dem Aufruf von startBluetoothSco() keine Zustandsänderung über die Absicht empfangen. Es ist jedoch nützlich, startBluetoothSco() aufzurufen, damit die Verbindung aktiv bleibt, falls der aktuelle Initiator die Verbindung beendet.

Sofern die Verbindung nicht bereits wie oben beschrieben aktiv ist, wechselt der Zustand immer von DISCONNECTED zu CONNECT und dann entweder zu CONNECTED, wenn die Verbindung erfolgreich ist oder zurück zu DISCONNECTED, wenn die Verbindung fehlschlägt (z. B. kein Headset angeschlossen ist).

Wenn die SCO-Verbindung abgeschlossen ist oder die Einrichtung fehlschlägt, muss die Anwendung aufrufen #stopBluetoothSco() , um die Anforderung zu löschen und die Bluetooth-Verbindung zu deaktivieren.

Auch wenn eine SCO-Verbindung hergestellt wird, gelten die folgenden Einschränkungen für Audioausgabedatenströme, damit sie an SCO-Headset weitergeleitet werden können: ul>li der Streamtyp muss #STREAM_VOICE_CALL</li><> sein, das Format muss mono </li><li> sein, das Sampling muss 16 kHz oder 8kHz </li></ul sein.><<>

Die folgenden Einschränkungen gelten für Eingabedatenströme: <ul><li> das Format muss mono </li><li> sein, das Sampling muss 8kHz </li></ul sein.>

Beachten Sie, dass die Telefonanwendung immer die Priorität für die Verwendung der SCO-Verbindung für Telefonie hat. Wenn diese Methode aufgerufen wird, während das Telefon aufgerufen wird, wird sie ignoriert. Wenn ein Anruf empfangen oder gesendet wird, während eine Anwendung die SCO-Verbindung verwendet, geht die Verbindung für die Anwendung verloren und wird nicht automatisch zurückgegeben, wenn der Anruf endet.

HINWEIS: Bis zur API-Version android.os.Build.VERSION_CODES#JELLY_BEAN_MR1initiiert diese Methode einen virtuellen Sprachanruf an das Bluetooth-Headset. Nach der API-Version android.os.Build.VERSION_CODES#JELLY_BEAN_MR2 wird nur eine unformatierte SCO-Audioverbindung hergestellt.

Dieses Element ist veraltet. Verwenden Sie stattdessen AudioManager#setCommunicationDevice(AudioDeviceInfo).

Java Dokumentation für android.media.AudioManager.startBluetoothSco().

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Siehe auch