停止SpeechRecognizer请求音频焦点

时间:2017-07-28 18:21:03

标签: android

如何阻止SpeechRecognizer请求音频焦点?我希望禁用 SpeechRecognizer 哔声静音所有音频解决方案){{ 1}}仍然可以播放一些音频文件(在另一个上下文中 - 服务)

所以在我的应用程序中,我只为MediaPlayer服务请求音频焦点(音频服务

MediaPlayer

其他服务中的SpeechRecognizer实例(语音服务):

...
AudioManager am = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
            int result = am.requestAudioFocus(null,
                    AudioManager.STREAM_MUSIC,
                    AudioManager.AUDIOFOCUS_GAIN);
            if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
                ...
                mMediaPlayer.start();
            }

当SpeechRecognizer开始在语音服务(speech = SpeechRecognizer.createSpeechRecognizer(this); )中收听时,它会自动请求音频焦点,它仍然可以播放这种恼人的哔声。在音频服务的同时,我在speech.startListening(recognizerIntent);得到AUDIOFOCUS_LOSS_TRANSIENT,并且我有代码行来在发生失调焦点丢失时暂停MediaPlayer

甚至可以禁用SpeechRecognizer的蜂鸣声而不使用静音(STREAM_MUSIC / STREAM_SYSTEM)或不使用root?

0 个答案:

没有答案