В activity определено устройство:
Код: Выделить всё
private static BluetoothDevice device = null;
Код: Выделить всё
bluetoothSocket = device.createInsecureRfcommSocketToServiceRecord(java.util.UUID.fromString(UUID_STRING));
Код: Выделить всё
private static byte[] receivedBuffer = new byte[BUFFER_SIZE];
private static byte[] sentBuffer = new byte[BUFFER_SIZE];
Код: Выделить всё
while (isRecording) {
try {
audioRecorder.read(sentBuffer, 0, BUFFER_AUDIO_SIZE);
bluetoothSocket.getOutputStream().write(sentBuffer);
bluetoothSocket.getInputStream().read(receivedBuffer);
audioTrack.write(receivedBuffer, 0, BUFFER_AUDIO_SIZE);
} catch (IOException e) {
} catch (NullPointerException e) {
}
}
Таким образом, звук не записывается и не проигрывается на двух устройствах.IndexOutOfBoundsException if byteOffset < 0 || byteCount < 0 || byteOffset + byteCount > buffer.length.
IOException if the stream is closed or another IOException occurs.
Также, если поменять код на такой:
Код: Выделить всё
while (isRecording) {
try {
audioRecorder.read(sentBuffer, 0, BUFFER_AUDIO_SIZE);
audioTrack.write(sentBuffer, 0, BUFFER_AUDIO_SIZE);
} catch (IOException e) {
} catch (NullPointerException e) {
}
}
Кто подскажет, что исправить?