transmitir por para pantalla otro duplicar compartir como celular app android bluetooth audio-streaming android-bluetooth a2dp

por - transmitir pantalla android a pc



¿Cómo transmitir audio desde un dispositivo Android a otro dispositivo Android a través de Bluetooth? (5)

¿Es posible transmitir audio a través de bluetooth? Durante mi investigación descubrí que solo es posible usar A2DP(Advanced Audio Distribution Profile) . ¿Y todos los dispositivos Android son compatibles con A2DP? Si no es así, ¿es posible transmitir audio entre dos dispositivos Android usando bluetooth? Por favor ayúdame a entender esto.

He mirado a través de los siguientes enlaces:


¿Es posible transmitir audio a través de Bluetooth?

A continuación, el tipo de hilo indica su posibilidad de que la transmisión de audio a través de Bluetooth sea posible entre dispositivos, pero hubo un interrogante sobre sus tasas de éxito hasta que el funcionario de Google anunció que hemos solucionado el problema del tartamudeo a2dp en N7. La próxima versión debería tener la solución. Lo siento por el problema.

Solución para la mala calidad de A2DP en 4.2.2

La calidad de sonido de Bluetooth sufre después de actualizar a 4.2 con Galaxy Nexus

Corrección de calidad de audio de Android 4.3 Bluetooth para Nexus 7 Flo

¿Y todos los dispositivos Android son compatibles con A2DP?

La compatibilidad de soporte técnico se menciona en el sitio de desarrolladores de Android que se agregó desde API Level-11 with appropriate features. Pero me encontré con la banda XDA en la que el problema OP menciona en Android 2.1 , significa que también es compatible con los niveles de API anteriores, pero que OP enfrenta problemas.

Espero que tenga sentido comprender y me gustaría recomendar consultar el foro de XDA para obtener más información sobre la compatibilidad con A2DP y su éxito.


En mi opinión, si el A2DP no funciona correctamente, es mejor que nos movamos a una capa inferior, y podemos crear un flujo básico que se pueda usar para enviar cualquier tipo de fecha. Logro enviar un flujo de bytes a través de Bluetooth entre dispositivos J2ME.

Si la instalación de una aplicación en ambos dispositivos es aceptable, tengo códigos de muestra para crear un servidor Bluetooth y un cliente para comunicarse entre sí a través de un socket, una vez que se establezca el socket, puede enviar su flujo de audio :)

Aquí hay algunos códigos básicos:

1) dispositivo de servidor:

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

ahora tienes el serverSocket, solo úsalo como un ServerSocket ordinario:

BluetoothSocket socket = serverSocket.accept();

y luego puede obtener InputStream y OutputStream desde este BluetoothSocket y enviar una secuencia de audio como HttpConnection

2) dispositivo cliente:

Supongamos que ya tienes el BluetoothDevice

// you should implement the method getBlutoothDevice BluetoothDevice device = getBluetoothDevice(); BluetoothSocket socket = device.createRfcommSocketToServiceRecord(MY_UUID_SECURE);


Es muy difícil hacer eso. Pero hice mucha investigación y conseguí una manera. Tiene varios problemas de retraso, conexión y raíz, pero aparentemente funciona. Para ello, deberá tener instalada la aplicación "AirAudio" en el servidor y el receptor "AllConnect". Luego, abre AirAudio en la pantalla de inicio y luego abre AllConnect, presiona en tu dispositivo, luego en fuentes y elige el servidor, luego elige la transmisión de mp3. El problema es que la demora es muy grande y otro defecto es que para transmitir solo el sonido del sistema del servidor de Android, debe tener una raíz en el teléfono ... También probé que el receptor de la transmisión de datos es el VLC, fue menor retrasado pero aún así es incómodo.


Intente usar el siguiente fragmento de código:

public class AudioStream extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String url = "http://www.example.mp3"; MediaPlayer mp = new MediaPlayer(); try { mp.setDataSource(url); mp.setAudioStreamType(AudioManager.STREAM_MUSIC); mp.prepare(); mp.start(); } catch (Exception e) { Log.i("Exception", "Exception in streaming = " + e); } } }


También puede transmitir audio a través de una conexión SCO básica que no depende de ningún perfil. Sin embargo, tenga en cuenta que A2DP es un perfil que se desarrolló específicamente para la transmisión de música. Por lo tanto, cualquier implementación que realice usted mismo sufrirá en calidad en comparación con A2DP.

A menos que esté transmitiendo música a un dispositivo que no sea compatible con A2DP, ciertamente usaría A2DP. Realmente su única otra opción es usar un enlace SCO.