我在一个交互式移动应用程序中使用语音识别,使用google speech to text。
当人工智能和你说话时,我会停止倾听,以消除噪音。
现在,我正在使用onCompletedListener
在文件末尾恢复识别,但理想的做法是在文件结束之前开始识别,以解决网络延迟并优化响应时间。
有没有一种方法可以观看currentPosition
并在每个文件结束后250毫秒触发事件?它们的长度不一致。
发布于 2021-04-15 18:08:49
检测当前位置的唯一方法是调用"MediaPlayer.getCurrentPosition()",因此唯一的解决方案是定期检查位置并检查"(MaxPosition - CurrentPosition)“是否在200-300ms之间。这意味着您需要每隔50/75ms进行一次检查,以确保保持在该范围内。
一个改进可以是仅在"MediaPlayer.play()“开头的"MaxLength-250ms”之后才开始定期检查(正如我上面所解释的)。
显然,如果你在MediaPlayer中允许寻道,这个计时器应该在每次寻道之后改变。
https://stackoverflow.com/questions/67100287
复制相似问题