У меня есть Bluetooth-гарнитура (BTC6White). Я хочу говорить в микрофон, и устройство Android воспроизводит звук.Понимание соединения Bluetooth-гарнитуры с Android
Итак, как я могу это сделать? Во-первых, я могу установить гнездовое соединение
socket = mDevice.createRfcommSocketToServiceRecord(UUID.fromString("0000111e-0000-1000-8000-00805f9b34fb"));
socket.connect();
Затем, как я получаю аудио? В чем заключается этот метод: startBuetoothSco? Чтобы включить звук в динамик, следует ли использовать Auditrack?
int buffersize = AudioTrack.getMinBufferSize(8000, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_8BIT);
soundData = new byte [buffersize*5];
audioTrack = new AudioTrack(AudioManager.STREAM_VOICE_CALL,
8000, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_8BIT,
soundData.length,AudioTrack.MODE_STREAM);
Но, тогда, Должен ли я заполнять буфер soundData? Как? Использование сокета (в потоке)?
mmInStream = socket.getInputStream();
public void run() {
byte[] buffer = new byte[8000*2];
while (true) {
bytes = mmInStream.read(buffer);
audioTrack.write(buffer, 0, bytes); //write directly?
}}
И startBuetoothSco() для чего? Знать государства sco? SCO_AUDIO_STATE_CONNECTED ... Или отправлять/получать данные? Я не понимаю, как получить аудиоданные от гарнитуры, а затем как передавать потоки в динамик. Необходимо установить соединение SCO (с AudioManager), чтобы получить данные о Bluetooth-гарнитуре?
Очень сложно найти информацию об этой проблеме, и документация по android очень бедна (эта тема).
Вы можете использовать мой ответ по адресу http://stackoverflow.com/questions/14991158/using-the-android-recognizerintent-with-a-bluetooth-headset/14993590#14993590 –
Oks, я могу установить соединение SCO, но потом, как мне получить аудио? – jlmg5564
Я не знаю, можно ли выпустить звук из гарнитуры Bluetooth в динамик. Почему бы вам не попробовать SoundAbout, чтобы убедиться, что он делает что-то подобное в первую очередь. Ссылка https://play.google.com/store/apps/details?id=com.woodslink.android.wiredheadphoneroutingfix –