我们已经在项目中实现了Readspeaker(http://www.readspeaker.com/)。它在某些方面效果很好:在Macbook上的Safari和iPad上的Chrome中,文本的第一个单词会说两次。例如:


  敏捷的棕色狐狸跳过了懒狗。阅读者说:
  快棕色..快棕色狐狸跳过了懒狗。


实现似乎是好的。 Javascript文件已加载,并且与Readspeaker的连接确实存在。

可能是什么问题呢?

最佳答案

我是Richard,我是ReadSpeaker的开发人员。

问题及其根源可能取决于您要实施的产品。由于您提到已加载所有脚本,因此我将假定您正在实施Enterprise Highlighting 2.5产品。

此类问题是由浏览器请求音频数据的方式引起的。在Mac上的Safari中,浏览器将首先向服务器发出HTTP请求,请求内容的长度为0-1,即,它请求一些数据以验证文件是否存在。服务器将响应该文件确实存在,并提供Content-length标头以指示有多少数据。
此后,它向服务器发出请求以获取音频数据,但这一次是在0-XX字节之间请求数据,其中XX是客户端在Content-length报头中从服务器返回的长度。
但是,如果在传输过程中发生错误,客户端可能会向服务器提出另一个请求以获取音频数据,但是这一次它将请求YY-XX字节之间的内容。
但是,如果向TTS服务器发出请求,则TTS服务器将在请求进入时生成音频(在缓存音频时不会发生)。因此,当流式传输内容时,它将不知道实际内容在开始流式传输之前会持续多长时间。
结果是,即使客户端请求的内容在YY-XX字节之间,服务器也会以0-XX字节的内容进行响应。

结果是,当音频对象被流数据填充时,客户端认为它正在接收XX-YY字节之间的数据,而实际上是从0-YY字节填充数据。可见(或可听)的结果是文本的开头被读取了两次。

这是我们已经在服务器上解决的问题(到目前为止看不到您的帖子),并且现在应该可以正常工作。如果您仍然遇到问题,请联系ReadSpeaker支持团队,并提供您的客户ID,可重现该问题的页面的URL以及浏览器详细信息(版本等),他们将很乐意为您提供帮助!

最好的祝福,
理查德·里斯霍尔姆
ReadSpeaker的开发人员,技术销售工程师和项目经理。

10-02 06:09