我第一次使用这里的API使用turn-by-turn应用程序。我正在遵循指南-这里的SDK推荐的指示,到目前为止,还不错。但是,我无法删除SDK提供的默认TTS播放/音频。
我认为,正如在音频管理部分中提到的那样,通过实现AudioPlayerDelegate类并调用NavigationManager.AudioPlayer.setDelegate(AudioPlayerDelegate),SDK将停止所有音频和文本到语音的播放,但它一直在触发它们。我复制我的代码示例:
FragmentView.java
public class FragmentView {
private NavigationManager.NewInstructionEventListener instructListener
= new NavigationManager.NewInstructionEventListener() {
private AudioPlayerDelegate m_audioPlayerDelegate = new AudioPlayerDelegate() {
@Override
public boolean playText(final String audioCue) {
m_activity.runOnUiThread(new Runnable() {
@Override
public void run() {
playAudioCue(fileName, 1);
Toast.makeText(m_activity, "TTS output: " + audioCue, Toast.LENGTH_SHORT).show();
Log.d(TAG, "TextToSpeech: " + audioCue);
}
});
return false;
}
@Override
public boolean playFiles(String[] strings) {
Log.d(TAG, "Play files");
return false;
}
};
private void addNavigationListeners() {
m_navigationManager.addNavigationManagerEventListener(
new WeakReference<NavigationManager.NavigationManagerEventListener>(
m_navigationManagerEventListener));
m_navigationManager.addPositionListener(
new WeakReference<NavigationManager.PositionListener>(m_positionListener));
m_navigationManager.addNewInstructionEventListener(
new WeakReference<NavigationManager.NewInstructionEventListener>(instructListener));
m_navigationManager.addPositionListener(
new WeakReference<NavigationManager.PositionListener>(positionListener));
m_navigationManager.getAudioPlayer().setDelegate(m_audioPlayerDelegate);
}
}代码已经起作用了。未触发或显示错误。我的问题是,在默认的TextToSpeech引擎完成之前,我无法使用自己的引擎。我想摆脱默认的AudioPlayerDelegate,我认为通过委派一个新的会自动完成它,但我错了。我怎么能做到呢?
注意事项
我不想删除事件的触发,而只是声音。
发布于 2020-03-27 11:57:24
唯一的错误是,为了委托,方法playText必须返回true。下文提到了文件:
playText() 布尔playText(java.lang.String text)代表NavigationManager使用的NavigationManager.AudioPlayer的代表函数。客户端将收到一个文本字符串,可以提交给TTS引擎进行回放。参数:文本-要播放的TTS文本。返回:如果客户端正在处理TTS回放,false将允许SDK处理它。
发布于 2020-03-26 09:06:56
停止当前播放的音频使用
NavigationManager.getAudioPlayer().stop()
使用NavigationManager.setEnabledAudioEvents()在导航期间启用/禁用音频事件
有关详细信息,请参阅以下文档:java/com/here/android/mpa/guidance/NavigationManager.AudioPlayer.html
https://stackoverflow.com/questions/60863132
复制相似问题