【问题标题】:Simple way to embed an MP3 audio file in a (static) HTML file, starting to play at a specifc position?将 MP3 音频文件嵌入(静态)HTML 文件的简单方法,开始在特定位置播放?
【发布时间】:2011-02-25 18:50:46
【问题描述】:

我想制作一个简单的静态 HTML 文件,其中包含一个或多个嵌入式 MP3 文件。这个想法是有一个简单的方法来收听 mp3 文件的特定部分。

单击视觉元素时,声音应该开始播放;但是,不是从文件的开头,而是从该文件中的指定起点(并播放到文件的末尾)。这应该在客户端的本地文件系统中全部在本地工作,HTML 文件和 MP3 文件不驻留在网络服务器上。

那么,如何从特定的起点播放 MP3 音频呢?我正在寻找的解决方案应该尽可能简单,同时适用于大多数浏览器,包括 IE、Firefox 和 Safari。

注意:我知道here 中描述的<embed> 标签,但这似乎不适用于我的目标浏览器。我也读过 jPlayer 和其他基于 JavaScript 的播放器,但由于我从未编写过 JavaScript,如果可能的话,我更喜欢纯 HTML 的解决方案。

更新:现在这已成为一个实时工具,位于http://quir.li/player.html。我最终使用了出色的mediaplayer.js by John Dyer

【问题讨论】:

  • 你为什么不嵌入你的对象,如果它使用 quicktime/flash 或其他什么,只需将参数包含在插件中,这样当他们尝试使用它时,它会提示他们安装插件从源头。
  • 好的,这有 2500 次观看,但没有点赞?

标签: html audio time mp3 embed


【解决方案1】:

很抱歉,我认为如果没有任何形式的客户端脚本,就不可能跳到曲目中的特定位置。使用目标指向您页面上的 iframe 的链接,可以在没有客户端脚本的情况下仅播放曲目。

例如。

<a href="audioembedded.html" target="myplayer">Play audio</a>
<iframe src="nothingplayingnow.html" name="myplayer"></iframe>

如果您想将音频文件本身嵌入到 html 文档中,我认为最接近的方法是使用 data URI scheme。这篇文章很好地解释了所有的利弊。

但是,如果您使用一点客户端脚本,所有这些当然都是可能的。这款 Flash MP3 播放器可让您通过javascript interface 跳到某些位置。该网站还有一个generator,让您可以非常轻松地制作自己的播放器界面。

抱歉,我认为您至少需要使用一些 javascript 才能实现您的尝试。

【讨论】:

  • 感谢您的详细回答。由于我的知识有限,我现在没有把它带到工作中。是否可以像这样在 标记中设置初始位置?:
  • 不幸的是,我认为这是不可能的。但是如果你为你的对象添加一个 ID 属性(例如&lt;object id="myflash" ...&gt;),以及一个作为你的跳转到位置按钮的按钮,它可以像这样工作:&lt;a href='javascript:document.getElementById("myflash").SetVariable("method:setPosition", 1000)'&gt;Skip 1 sec into track&lt;/a&gt;。您还需要在对象中添加&lt;param name="AllowScriptAccess" value="always" /&gt;
  • @mq.chen:我试着按照你在评论中提到的去做。不幸的是,它仍然不起作用。我似乎有一个像这里提到的问题:stackoverflow.com/questions/1038668/…。但是,我无法根据需要更改 SWF。
  • 听起来像是一个安全问题。我认为唯一的解决方案是将 swf 文件与您的单个 html 一起分发。我想不可能在单个 html 文件中包含富媒体,同时要求它与 IE 一起使用。可以将 &lt;audio&gt; 标记与数据 URI 方案一起使用,但许多浏览器尚不支持。很抱歉,我想不出任何其他解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-29
  • 1970-01-01
  • 1970-01-01
  • 2011-05-04
  • 2011-08-26
相关资源
最近更新 更多