在HTML中播放音频

14

我想在HTML中播放mp3音频文件。但我不想显示带有音量等控件的整个播放器。 我只需要一个由我设计的播放/暂停按钮,而不是某个播放器(如雅虎播放器或谷歌播放器)的核心设计。

例如,音频将自动播放。当单击按钮(可能是图像)时,它会暂停,并且当再次单击该图像时,音频将再次播放。

这里有很多例子:http://www.w3schools.com/html/html_sounds.asp

我能控制JS代码中的任何一个播放/停止吗?


1
不幸的是,自己实现这个功能有点困难。我建议使用插件来完成这个任务 - 因为没有官方的Javascript API可以用于音频。 - Peter Olson
1
Flash将是唯一的选择。 - Joseph
4个回答

15
你可以使用HTML5的音频标签。你可以指定自己的播放控件。
<audio preload="auto" autobuffer> 
  <source src="elvis.mp3" />
  <source src="elvis.wav" /> <!-- fallback if no mp3 support in browser -->
</audio>

这是一个jQuery的解决方案。

http://jsfiddle.net/QPW27/109/

以下是没有使用jQuery的解决方案。

var foo = document.getElementById('player');
foo.pause();  //just bind play/pause to some onclick events on your page
foo.play();

不同的浏览器支持不同的音频格式。虽然如此,您仍可以指定备用音频版本。该网站提供了一个很好的浏览器支持图表(截至2011年7月)查看

2
希望未来几年内,HTML5音频API将被更多浏览器支持,但目前播放声音需要大量特定于浏览器的技巧才能让事情正常工作,或者依赖于像Flash这样的浏览器插件。
同时,我建议使用SoundManager2。它相当容易使用,比自己动手做要少得多的头痛。

1

Audio.js 看起来具备你需要的播放器样式特性,并且如果浏览器不支持新的音频 API,还能优雅地退化到 Flash。


0

您可以使用嵌入标签播放音频

<!DOCTYPE html>
<html>
<body>

<p><a href="horse.mp3">Play mp3</a></p>
<p><a href="liar.wav">Play wav</a></p>

<script src="http://mediaplayer.yahoo.com/js"></script>

</body>
</html>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接