Freigeben über


AudioManager.StartBluetoothSco Methode

Definition

Starten Sie die 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 die Bluetooth SCO-Audioverbindung.

Erfordert die 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 aufgerufen wird.

Da die Einrichtung der SCO-Verbindung mehrere Sekunden dauern kann, sollten Anwendungen nicht darauf angewiesen sein, dass die Verbindung verfügbar ist, wenn die Methode zurückgibt, sondern sich registrieren, um die Absicht #ACTION_SCO_AUDIO_STATE_UPDATED zu empfangen und zu warten, bis der Zustand lautet #SCO_AUDIO_STATE_CONNECTED.

Da die ACTION_SCO_AUDIO_STATE_UPDATED Absicht klebrig ist, kann die Anwendung den SCO-Audiostatus überprüfen, bevor sie startBluetoothSco() aufruft, indem sie die von der Empfängerregistrierung zurückgegebene Absicht liest. Wenn der Zustand bereits VERBUNDEN ist, wird keine Zustandsänderung über die Absicht empfangen, nachdem startBluetoothSco() aufgerufen wurde. Es ist jedoch nützlich, startBluetoothSco() aufzurufen, damit die Verbindung aktiv bleibt, falls der aktuelle Initiator die Verbindung beendet.

Sofern die Verbindung wie oben beschrieben nicht bereits aktiv ist, wechselt der Zustand immer von DISCONNECTED zu CONNECTING und dann entweder zu VERBUNDEN, wenn die Verbindung erfolgreich ist, oder wieder zu DISCONNECTED, wenn die Verbindung fehlschlägt (z. B. ist kein Headset verbunden).

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.

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

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

Beachten Sie, dass die Telefonanwendung immer die Priorität für die Nutzung der SCO-Verbindung für die 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 Aufruf endet.

HINWEIS: Bis einschließlich 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 Member ist veraltet. Verwenden Sie stattdessen AudioManager#setCommunicationDevice(AudioDeviceInfo).

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

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Weitere Informationen