HTML:为什么嵌入式音频有时无法播放?

时间:2008-10-29 11:20:45

标签: html internet-explorer browser audio https

我在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“功能”吗?

4 个答案:

答案 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,解释了如何使用对象标签。