我在HTML页面上遇到嵌入式音频(wav文件)的一些奇怪行为。
我有一个页面https://server.com/listen-to-sound
,并通过<EMBED/>
标记嵌入了Wav文件,如下所示:
<embed src='https://server.com/path-to-sound' hidden="true" autostart="true" />
在机器#1上的IE 6 SP3中打开页面https://server.com/listen-to-sound
- 声音在耳机中播放。
同一页面在另一台机器上打开(#2),完全相同的IE 6 SP3版本,隐私和代理设置 - 没有声音。
总共有6台机器在2台机器上播放声音但未在4台机器上播放。从这4台机器中,当在Opera中打开页面https://server.com/listen-to-sound
时,会播放声音。
我已经三次检查了耳机连接,音量设置和其他可能的硬件和软件驱动程序问题:问题肯定是在IE设置中。
我还检查了https://server.com/path.to.sound
网址 - 无法播放声音的4个设备无法打开此链接,但未显示“无法下载页面”等错误。
清理IE缓存,临时Internet文件,SSL证书缓存也无法解决问题。
谷歌搜索没有给我任何特别的信息,但使用<OBJECT>
代码和<EMBED>
代码写入对象评论中的旧Flash技巧。
我错过了什么?您是否遇到过类似或相关的问题?他们是如何解决的? 你对这个技巧在哪里有什么建议吗?你知道一些可能影响嵌入式对象执行(播放,显示)的IE“功能”吗?
答案 0 :(得分:1)
我还没有找到解决方案,但我可以确认可能的问题是https:。我发现Windows Media Player不播放带有完整url / src导致https的文件。但是,quicktime会。因此,具有quicktime的计算机将成功播放该文件,而仅具有WMP的计算机将失败。
一个“解决方案”是链接到文件的http :(非安全)版本。
答案 1 :(得分:0)
我无法找到关于此的任何信息,但您是否尝试过使用Javascript播放声音?我不知道这是否是一个可行的解决方法,但这可能是一个解决方案 您可以在此处找到不同的方法:http://www.phon.ucl.ac.uk/home/mark/audio/play.htm
希望能帮助你。
答案 2 :(得分:0)
关于你对jamesh的评论,我建议提供一个音频文件的链接:一些计算机(我的工作)没有声音,不是每个人都使用IE,嵌入不是HTML的一部分(它是各种浏览器支持的黑客攻击,例如HTML 4.01 Transitional DTD中未定义),并且访问浏览器没有插件可以播放您的声音。
正如您的测试所示,它很容易出现问题......
最糟糕的是,提供<NOEMBED>
标记来提供所述链接。或者嵌套各种方法,例如<object>
。至少,几乎所有浏览器都支持Flash。
答案 3 :(得分:0)
我认为主要原因是您使用的每台计算机/浏览器的行为都不同,因为它是非标准标签。
让媒体在网页中播放总是有点痛苦。你可以尝试这样的事情:
<object type="audio/x-wav" data="data/test.wav" width="200" height="20">
<param name="src" value="data/test.wav">
<param name="autoplay" value="false">
<param name="autoStart" value="0">
alt : <a href="data/test.wav">test.wav</a>
</object>
以上摘自this site,解释了如何使用对象标签。