音声を Bluetooth にルーティングしたい。
以下のコードは私のプレーヤーです。
AudioTrack at;
try {
minbuffer = AudioTrack.getMinBufferSize(8000,
AudioFormat.CHANNEL_OUT_MONO,
AudioFormat.ENCODING_PCM_16BIT);
if (minbuffer < VOICE_SPEECH_SIZE)
minbuffer = VOICE_SPEECH_SIZE;
at = new AudioTrack(AudioManager.STREAM_VOICE_CALL, 8000,
AudioFormat.CHANNEL_OUT_MONO,
AudioFormat.ENCODING_PCM_16BIT, minbuffer,
AudioTrack.MODE_STREAM);
at.play();
while (PlayOutblinker == Thread.currentThread()) {
byte[] tt = vbuff.take();
at.write(tt, 0, tt.length);
}
} finally {
at.stop();
at.release();
at = null;
}
私は以下を検索して見つけました:
public static void SetRouteBT(Context context, boolean isRoute) {// TODO
AudioManager mAudioManager = (AudioManager) context
.getSystemService(Context.AUDIO_SERVICE);
mAudioManager.setMode(AudioManager.MODE_IN_CALL);
mAudioManager.startBluetoothSco();
mAudioManager.setBluetoothScoOn(isRoute);
}
しかし、それは機能しません。setBluetoothScoOn(true)
音声がルーティングされず、スピーカーとマイクから切断された場合。問題はどこだ?