Meiner Meinung nach, wenn A2DP nicht richtig funktioniert, sollten wir besser auf die untere Ebene verschieben, und wir können einen grundlegenden Datenstrom erstellen, der für das Senden jeder Form von Datum verwendet werden kann. Es ist mir gelungen, Byte-Stream über Bluetooth zwischen J2ME-Geräten zu senden.
Wenn eine App in beiden Geräten zu installieren ist akzeptabel, ich habe Beispielcodes, um einen Bluetooth-Server und einen Client zu schaffen, miteinander über Socket zu kommunizieren, sobald der Socket eingerichtet ist, können Sie Audio-Stream senden :)
hier sind einige Kern Codes:
1) Servergerät:
// you can generate your own UUID and use it as an port to eatablish a socket
private static final UUID MY_UUID = UUID.fromString("20687DAD-B023-F19E-2F60-A135554CC3FD")
BluetoothServerSocket serverSocket = mBluetoothAdapter.listenUsingRfcommWithServiceRecord(NAME_INSECURE, MY_UUID);
Sie jetzt die Serversocket haben, verwenden Sie es einfach wie ein gewöhnlicher ServerSocket-:
BluetoothSocket socket = serverSocket.accept();
und dann können Sie InputStream
und OutputStream
aus dieser BluetoothSocket
bekommen und Audio-Stream senden wie HttpConnection
2) Client-Gerät:
annehmen, dass Sie bereits haben die BluetoothDevice
// you should implement the method getBlutoothDevice
BluetoothDevice device = getBluetoothDevice();
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(MY_UUID_SECURE);
1. Fast jedes Gerät unterstützt A2DP, A2DP und HFP (Handsfree) Profil sind die grundlegenden Profile, die Telefon benötigt. 2. Android 4.2.1 hatte Audio-Streaming-Probleme über Bluetooth, es war ein abgehacktes Audio, das laut Google in der neuesten Version behoben wurde. 3. Die meisten Leute hatten früher auf Bluez (open source bluetooth) stack ausprobiert, aber ab JB wurde bluez durch broadcomm stack ersetzt. Sie müssen das Audio-Senkenprofil im Telefon implementieren. Audio-Streaming zwischen 2 Geräten kann mit Alljoyn möglich sein, check [link] (https://www.alljoyn.org/about/core-services) – ashish
Danke für den Link @ashish. Ich werde das durchmachen. Und werden Sie wissen lassen, was passiert. Danke noch einmal. –
Muss der Ton über Bluetooth gestreamt werden? Was ist mit der Verwendung von [WiFi-Direct] (http://developer.android.com/guide/topics/connectivity/wifip2p.html)? Dies würde Ihnen tatsächlich mehr Flexibilität und Funktionen geben. – BigMacAttack