我在一家公司工作,正在尝试制作一个新的演示页面。我很想将页面简化为无法正常工作的页面,但不幸的是,它与我服务器上的各种脚本以及必须转到相同域名的 AJAX 请求相关联。但是,我将尽可能地描述正在发生的事情。
本质上,我的会话代码几乎按预期工作。这不是问题所在。问题是单击“说出来”按钮后播放的音频在 Chrome 中按预期工作,但 firefox 仅播放第一个音频请求,即使在随后的具有不同文本的请求之后也是如此,并且在 Internet Explorer 中没有播放任何内容。相关代码都在 head 部分,其中一组三个函数控制所有正在发生的事情。当点击“Say It”按钮时调用 formSubmit(),一旦加载音频就会调用 onAudioLoad(),而 limitText() 确实限制了人们可以输入的文本数量。
因此 formSumbmit() 向我的服务器脚本发送一个 AJAX 请求,该脚本返回以下两种情况之一:
1) 带有正确 src 属性的源元素的 HTML5 音频标签,或 2) 表示会话已过期的 p 元素。
我只是想让音频在没有可怕回声的情况下播放(这可能是也可能不是由实际的 mp3/ogg 转换软件引起的),并让它在所有浏览器上按预期工作。
onAudioLoad 发送删除音频的请求,以避免人们太容易窃取我们的产品:D
预期行为:
演示文本区域中存在的任何文本都将发送到服务器端进行合成,然后通过客户端的扬声器播放音频。
如果您有任何进一步的问题,我会定期回来查看。
这是演示的网址:
http://www.cepstral.com/demos/temp/cepstral_tts_demo.php
感谢您的任何帮助。
终极问题:
为什么这在 Chrome 中按预期工作,但在 Firefox 11 和 IE9 中却没有?
在 Firefox 中,它只会播放第一个音频请求。
在 IE9 中不播放音频。
我知道音频永远不会安全。我们只是想让普通用户更难。