如何在HTML5里播放BGM

Author Avatar
huuhghhgyg 8月 28, 2017
  • 在其它设备中阅读本文章

把一个软件内的背景音乐提取出来了,想炫耀一下

前情提要

上次在”毕业咯”的2B页面里面插入了一个第三方(网易云)bgm,同时也用的是网易云的播放器框架。那么框架代码就直接在这里展示出来了。

<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 src="//music.163.com/outchain/player?type=2&id=482988841&auto=1&height=66"></iframe>

这个东西可以在网易云那里生成。具体步骤:
1.网易云随便打开一首歌
2.胶片唱盘下面有个生成外链播放器的链接
3.点进去,你就会做了(这肯定不用我教吧)
4.(算了还是教一下吧)将代码添加至你的html(md)代码中,(生成后)就可以使用了。

利用HTML5的’audio’标签

Html5中,有许多标签。像<body>,<header>,<script>之类的(可能有打错的)都是标签。那么下面的

<audio autoplay="autoplay" controls="controls"loop="loop" preload="auto"
            src="http://demo.mimvp.com/html5/take_you_fly.mp3">
      你的浏览器不支持audio标签
</audio>

我们可以在开始标签和结束标签之间放置文本内容,这样老的浏览器就可以显示出不支持该标签的信息。

属性 描述
autoplay autoplay 如果出现该属性,则音频在就绪后马上播放。
controls controls 如果出现该属性,则向用户显示控件,比如播放按钮。
loop loop 如果出现该属性,则每当音频结束时重新循环开始播放。
[pre]oad](http://www.w3school.com.cn/html5/att_audio_preload.asp) preload 如果出现该属性,则音频在页面加载时进行加载,并预备播放。如果使用“autoplay”,则忽略该属性。
src url 要播放的音频的 URL。也可以使用<source>标签来设置音频。
注:此表格所有外部链接没有使用https加密,原因是使用后可能会出现打不开的情况

html5 Audio标签能够支持wav, mp3, ogg, acc, webm等格式,但有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持(详见此处)。不是所有的浏览器都支持MP3 ,OGG之类的,每个浏览器因为版权的问题支持的格式都是不一样的。

浏览器和音频兼容性

浏览器制造商并非都同意使用某种音频文件格式。对于图像,**PNG、JPEG 或 GIF **格式的文件在任何浏览器上都能加载到您的网页里。遗憾的是,音频文件并非如此。表 1 展示了网页中可以使用的音频文件格式,但是并非所有格式都能用于所有浏览器。例如,Chrome、Internet Explorer 9 (IE9) 和 Safari 浏览器不支持 WAV 文件,这是一种使用非压缩格式且正在衰败的标准。

音频格式 Chrome Firefox IE9 Opera Safari
OGG 支持 支持 支持 不支持 不支持
MP3 支持 不支持 支持 不支持 支持
WAV 不支持 支持 不支持 支持 不支持

没有一种通用的文件格式让每个浏览器都使用单个文件格式意味着至少有 2/5 的浏览器无法播放某些声音。这不是无法在单一音频标准中达成一致的浏览器制造商不妥协的问题,而是涉及专利权和特许权使用费的法律和财务问题。不受软件专利限制的 OGG 格式旨在一劳永逸地解决这个问题。然而,在撰写本文时,Opera 和 Safari 都不支持 OGG。与 OGG 格式的文件相比,可用的 WAV 和 MP3 文件数量要更多,因此毫无疑问,浏览器制造商考虑到了这一点。MP3 作为事实的标准是个很好的解决方案。

解决方案:使用三种文件类型和

鉴于目前的状况,您可能认为目前还不是在 HTML5 页面上使用音频的黄金时刻。在某些方面可能的确如此,但是 HTML5 提供了一个解决方案,使您喜欢的浏览器能够找到一种兼容的格式。

<audio controls>
    <source src=”http://demo.mimvp.com/html5/take_you_fly.ogg” />
    <source src=”http://demo.mimvp.com/html5/take_you_fly.mp3″ />
    <source src=”http://demo.mimvp.com/html5/take_you_fly.wav” />
</audio>

无论访问者使用什么浏览器,它都将自动选择所读取的第一个文件类型,并为您播放声音。

html代码 (隐藏播放控件)

<audio autoplay="autoplay">
<source src="http://demo.mimvp.com/html5/take_you_fly.mp3" type="audio/mpeg">
</audio>

代码演示 (隐藏播放控件)

<audio autoplay="autoplay" controls="controls">
<source src="http://demo.mimvp.com/html5/take_you_fly.mp3" type="audio/mpeg">
</audio>
link
本文链接:
发文时间
8月 28, 2017
请遵循协议