android 蓝牙sco stream_voice_call,android TTS输出总是要 A2DP_android_开发99编程知识库
大多數設備上我都有這樣的工作。 下面是在語音呼叫流中使用藍牙SCO代替A2DP啟動TTS的部分。if (mTtsReady) {
myHash = new HashMap();
myHash.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID,"A2DP_Vol");
OLD_AUDIO_MODE = am2.getMode();
if(SMSstream == 1){
if (am2.isBluetoothScoAvailableOffCall()) {
am2.startBluetoothSco();
}
if(!am2.isSpeakerphoneOn()){
speakerPhoneWasOn = false;
am2.setSpeakerphoneOn(true);
}
myHash.put(TextToSpeech.Engine.KEY_PARAM_STREAM,
String.valueOf(AudioManager.STREAM_VOICE_CALL));
am2.requestAudioFocus(null, AudioManager.STREAM_VOICE_CALL,
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
}
else{
am2.requestAudioFocus(null, AudioManager.STREAM_MUSIC,
AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
myHash.put(TextToSpeech.Engine.KEY_PARAM_STREAM,
String.valueOf(AudioManager.STREAM_MUSIC));
}
new CountDownTimer(SMS_DELAY, SMS_DELAY/2) {
@Override
public void onFinish() {
try {
mTts.speak(str, TextToSpeech.QUEUE_ADD,
myHash);
} catch (Exception e) {
Toast.makeText(application,
R.string.TTSNotReady,
Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
@Override
public void onTick(long arg0) {
}
}.start();
}
現在我只是有一個問題,讓流在完成后恢復。 讀TTS都很正常。 它會暫停任何音樂播放TTS然后恢復音樂。 但是,當我退出應用以后,媒體流現在通過電話聽筒播放,直到我重啟。 我在這里發布了這個問題: 音頻流在使用 AudioManager 后留在耳機上
總結
以上是生活随笔為你收集整理的android 蓝牙sco stream_voice_call,android TTS输出总是要 A2DP_android_开发99编程知识库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 备份文件太大_mysql数据
- 下一篇: mysql5.7重新初始化_MySQl