1

我在 HTML 页面上遇到了一些嵌入音频(wav 文件)的奇怪行为。我有一个 page和一个通过标签https://server.com/listen-to-sound嵌入其中的 Wav 文件,如下所示:<EMBED/>

<embed src='https://server.com/path-to-sound' hidden="true" autostart="true" />

该页面https://server.com/listen-to-sound在机器#1 上的 IE 6 SP3 中打开 - 声音在耳机中播放。在另一台机器上打开相同的页面(#2),具有完全相同的IE 6 SP3 版本、隐私和代理设置 - 没有声音。

总共有 6 台机器在 2 台上播放声音,在 4 台上不播放。从这 4 台机器中,当https://server.com/listen-to-sound在 Opera 中打开页面时,会播放声音。

我反复检查了耳机连接、音量设置和其他可能的硬件和软件驱动程序问题:问题肯定出在 IE 设置中。

我还检查了https://server.com/path.to.soundURL - 4 个不播放声音的机器无法打开此链接,失败并出现“无法下载页面”之类的错误。

清理 IE 缓存、临时 Internet 文件、SSL 证书缓存也不能解决问题。

谷歌搜索给了我什么特别的东西,但老的 Flash 技巧使用<OBJECT>标签和<EMBED>标签写在对象的评论中。

我错过了什么?您是否遇到过类似或相关的问题?他们是如何解决的?你对诀窍在哪里有什么建议吗?您知道一些可能影响嵌入对象执行(播放、显示)的 IE “功能”吗?

4

4 回答 4

1

我认为主要原因是在您使用的每台计算机/浏览器上表现不同,因为它是一个非标准标签。

让媒体在网页中播放一直有点痛苦。你可以尝试这样的事情:

<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>

以上内容来自该站点,解释了如何使用对象标签。

于 2009-05-04T17:41:52.640 回答
1

我还没有找到解决方案,但我可以确认可能的问题是 https:。我发现 Windows 媒体播放器不会播放带有完整 url/src 的文件,这些文件会导致 https。但是,quicktime 会。因此,具有 quicktime 的计算机将成功播放文件,而仅具有 WMP 的计算机将失败。

一种“解决方案”是链接到文件的 http:(非安全)版本。

于 2010-06-27T13:51:52.637 回答
0

我找不到这方面的任何信息,但是您是否尝试过从 Javascript 播放声音?我不知道这对您来说是否可行,但这可能是一个解决方案。
你可以在这里找到不同的方法:http ://www.phon.ucl.ac.uk/home/mark/audio/play.htm

希望对您有所帮助。

于 2008-10-29T12:10:47.477 回答
0

关于您对 jamesh 的评论,我建议您提供一个指向音频文件的链接:一些计算机(我在工作中)没有声音,不是每个人都在使用 IE,嵌入不是 HTML 的一部分(这是一个 hack各种浏览器都支持,例如在HTML 4.01 过渡 DTD中没有定义)并且访问浏览器很可能没有插件来播放您的声音。

正如您的测试所示,它很容易出现问题......

在最坏的情况下,提供一个<NOEMBED>标签来提供上述链接。或者嵌套各种方法,比如<object>. 至少,几乎所有浏览器都支持 Flash。

于 2008-10-29T13:10:32.117 回答