无法跳过当前播放内容
Ta的回复 :1.调用stop后,会停止所有合成和播放线程,并清空缓存。stop后再调用batchspeak,就会从这次开始合成并播放,之前的会全部清掉。 2.合成的所有方法都有一个utteranceId参数,该参数会在该次文本合成的所有回调事件中返回给开发者。这样开发者就知道了是哪句文本正在合成,而且也有进度返回,所以可以满足高亮文本的需求。(utteranceId参数完全有开发者自己定义,内部原样返回) 3.每一句播放完成都有一个onSpeechFinish的回调。根据utteranceId可以知道哪句是最后一句,当然返回此id的时候,开发者也能判断出来是最后一句的事件。甚至可以自己设计队列结构来实现。 4.void onSynthesizeDataArrived(String utteranceId, byte[] audioData, int progress);该方法返回的是合成的音频数据,默认是16k, 2字节精度,单声道的PCM数据。可以计算出来时长。因为合成是边合成边播放,所以没办法一次得到所有的音频数据,所以也就没有办法一次计算出总时长。