我尝试编写一个Speech2speech翻译应用,该翻译服务来自Microsoft语音服务api。 我想要两个功能:
其中之一是听筒接收到我的声音(英语),然后手机的扬声器播放翻译的结果(日语)。
另一个是手机的内置麦克风接收某人的声音(日语),然后听筒播放翻译的结果(英语)。
我尝试了这些设置的一些组合,但是我仍然找到实现目标的正确组合。
AudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION)
AudioManager.stopBluetoothSco()
AudioManager.setBluetoothScoOn();
AudioManager.setSpeakerphoneOn();
And all of "AudioManager.setMode"
对于功能1:
mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
mAudioManager.stopBluetoothSco();
mAudioManager.setBluetoothScoOn(false);
mAudioManager.setSpeakerphoneOn(true);
对于功能2:
mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
mAudioManager.setMicrophoneMute(false);
mAudioManager.startBluetoothSco();
mAudioManager.setBluetoothScoOn(true);
mAudioManager.setSpeakerphoneOn(false);
上面的代码是我现在使用的代码。 但是他们俩都从手机的内置麦克风接收声音,并在听筒上播放转换后的结果。
是否有任何简单或清晰的方法来选择音频的输入或输出?