Я создаю приложение для Android, которое использует гарнитуру Bluetooth для одновременной записи и потоковой передачи.
При потоковой передаче звука во время записи с помощью микрофона Bluetooth-гарнитуры он передается на динамик устройства, отличный от гарнитуры Bluetooth.(аудиопоток в веб-просмотре)
Я хочу передавать потоковое аудио с гарнитуры Bluetooth во время записи с гарнитурой Bluetooth.
Мой пример кода выглядит следующим образом.
Подключение Bluetoothгарнитура:
private BroadcastReceiver mBluetoothScoReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
int state = intent.getIntExtra(AudioManager.EXTRA_SCO_AUDIO_STATE, -1);
Log.i(LOG_TAG, "ANDROID Audio SCO state: " + state);
if (AudioManager.SCO_AUDIO_STATE_CONNECTED == state) {
Log.i(LOG_TAG, "bluetooth connected.");
}
}
};
public void setBluetoothMic(Context context){
IntentFilter intentFilter = new IntentFilter(AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED);
context.registerReceiver(mBluetoothScoReceiver, intentFilter);
audioManager = (AudioManager) context.getSystemService(context.AUDIO_SERVICE);
audioManager.setMode(audioManager.MODE_NORMAL);
audioManager.setBluetoothScoOn(true);
audioManager.startBluetoothSco();
audioManager.setSpeakerphoneOn(false);
}
Запись звука:
AudioRecord record =
new AudioRecord(
MediaRecorder.AudioSource.MIC,
SAMPLE_RATE,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT,
bufferSize);
record.startRecording();
Потоковое аудио в веб-просмотре:
<audio controls id="myAudio">
<source src="001.mp3" type="audio/mpeg">
</audio>
При запуске кода audioManager.stopBluetoothSco () звук передается вгарнитура.Но при выполнении кода audioManager.startBluetoothSco () звук выводится на динамик устройства.
Возможно ли передавать звук на гарнитуру bluetooth и одновременно выполнять запись с гарнитурой bluetooth?
Спасибо за чтение.