android – TTS输出总是转到A2DP

前端之家收集整理的这篇文章主要介绍了android – TTS输出总是转到A2DP前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我的Android教程声明我可以明确告诉TTS引擎使用哪个流:

对于音乐播放:

params.put(TextToSpeech.Engine.KEY_PARAM_STREAM,String.valueOf(AudioManager.STREAM_MUSIC));

并拨打电话:

params.put(TextToSpeech.Engine.KEY_PARAM_STREAM,String.valueOf(AudioManager.STREAM_VOICE_CALL));

我的理解是,到蓝牙耳机的音频路由工作使得STREAM_MUSIC转到A2DP(在Android蓝牙设置中称为“媒体音频”)并且STREAM_VOICE_CALL转到HSP(在Android蓝牙设置中也称为“电话音频”).

但无论我在我的小应用程序中使用STREAM_MUSIC还是STREAM_VOICE_CALL,音频总是由于某种原因而变为A2DP.

我做错了什么?有没有办法将TTS输出路由到耳机的HSP配置文件

最佳答案
在大多数设备上,我大部分时间都在使用它.以下是使用蓝牙SCO而不是A2DP在语音呼叫流上启动TTS的部分.

if (mTtsReady) {
    myHash = new HashMapdio_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,然后恢复音乐.但是,当我稍后退出应用程序时,媒体流现在通过手机耳机播放,直到我重新启动.我在这里发布了这个问题:Audio stream stays on earpiece after using AudioManager

你可以在这里看到我的整个项目:http://code.google.com/p/a2dpvolume/

原文链接:https://www.f2er.com/android/430462.html

猜你在找的Android相关文章