如何在此处删除默认的TTS播放/音频

问题描述 投票:0回答:1

我第一次使用HERE API使用turn-by-turn应用程序。我遵循Guide - HERE SDK中推荐的说明,到目前为止,效果很好。但是,我无法删除SDK提供的默认TTS播放/音频。

[我认为,如Audio Management部分所述,通过实现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可以自动完成此操作,但是我错了。我该怎么办?

NOTE

我不想删除事件的触发,而只是声音。

here-api
1个回答
0
投票

要停止当前播放的音频使用

NavigationManager.getAudioPlayer().stop(

使用NavigationManager.setEnabledAudioEvents()在导航期间启用/禁用音频事件

有关更多详细信息,请参见以下文档:https://developer.here.com/documentation/android-premium/api_reference_java/com/here/android/mpa/guidance/NavigationManager.AudioPlayer.html

© www.soinside.com 2019 - 2024. All rights reserved.