2016-04-29 59 views
0

我创建了一个AudioPlayerDelegate来通过我的音频播放器播放导航文本,但函数playText()在导航过程中永远不会被调用,而另一个函数playFiles()会被调用。这里Android SDK AudioPlayerDelegate不起作用

下面的代码片段:

private class MyAudioPlayerDelegate implements AudioPlayerDelegate { 

     @Override 
     public boolean playText(String s) { 

      TTSController.getInstance(HEREMapActivity.this).playText(s); 
      return true; 
     } 

     @Override 
     public boolean playFiles(String[] strings) { 
      Log.d("voice", strings.toString()); 
      return true; 
     } 
    } 


    if (myAudioPlayerDelegate == null) { 
      myAudioPlayerDelegate = new MyAudioPlayerDelegate(); 
    } 
     navigationManager.getAudioPlayer().setDelegate(myAudioPlayerDelegate); 

回答

0

看来你是不使用支持TTS语音皮肤。只有TTS皮肤会回调到playText()方法。

+0

谢谢大卫,我错过了在设置NavigationManager的VoiceSkin时调用voicePackage.isTts()。 (voicePackage.isTts()) {id = voicePackage.getId(); 休息; } } –