蓝牙耳机Android中的静音语音识别哔声

时间:2014-12-21 19:41:42

标签: android bluetooth voice-recognition android-audiomanager headset

我正在尝试使用ML18 bluetooth headset (by plantronics)在Android上使用自定义应用程序进行连续语音识别。我已经设法通过使用here发布的答案摆脱手机产生的哔声,并设法使用this将所有其他媒体路由到我的蓝牙设备。

然而,每当我拨打SpeechRecognizer.startListening时,我的蓝牙设备仍然会发出哔哔声。

有什么我可以做的,或者这可能是硬连线到蓝牙设备的软件?

如果您想查看特定的代码部分,请与我们联系。但是,我认为它并不重要,因为上面的两个链接已经涵盖了与我最相关的代码。提前谢谢!

编辑:基于以下评论,我已将我的代码修改为以下内容:

开始监听只是将所有流静音,但警报流静音(通过再次取消静音所有流来撤消)。

public void startListening() {
    if (canListen) {
        Log.v(TAG, "Starting Listening");
        Intent recognizerIntent = createRecognizerIntent();
        recognizer.cancel();
        recognizer.startListening(recognizerIntent);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
            ((AudioManager) getApplicationContext().getSystemService(
                    Context.AUDIO_SERVICE)).setStreamSolo(
                    AudioManager.STREAM_ALARM, true);
        }
    }
}

蓝牙接收器在连接设备时执行此操作:

    AudioManager localAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
    localAudioManager.setMode(AudioManager.MODE_NORMAL);
    localAudioManager.setBluetoothScoOn(true);
    localAudioManager.startBluetoothSco();

然后在ACTION_SCO_AUDIO_STATE_UPDATED中将模式设置为AudioManager.MODE_IN_CALL

目前的行为如下: 当我第一次启动应用程序并连接蓝牙设备,以及触发连续识别循环时,所有工作都按预期工作。然后在发出第一个回复后(使用TTS),蜂鸣声返回...再次,任何帮助将不胜感激:)

0 个答案:

没有答案