markshuai 2014-01-09
最近做了一个微信里广播电台的一个在线收听、往期回播的功能,利用hmtl5的标签<audio>
这个项目从决定采用audio到最后实现可谓是一波三折,这里我主要介绍下我实现的过程和遇到的一些问题,希望对也想实现此功能的亲们能少走些弯路。
一、音频<audio>标签
html5音频和视频功能完全取代对插件的依赖,方便使用,具体使用格式如下:
<audio id="player2" type="audio/mp3" controls>
<source src="../../media/echo-hereweare.ogv">
<source src="../../media/big_buck_bunny.webm">
<source src="../../media/a.mp3">
</audio>
这个的写法是为了让主流浏览器都支持,做测试的时候最好这么写,微信里只要mp3格式的就都支持
简写格式:
<audio id="player2" src="../../media/a.mp3" preload="none" controls></audio>
ogv是html5中的一个名为Ogg Theora的视频格式,而且涉及到版权之类 的问题,各个浏览器比如ff、chrome之类的标准也不统一,FF只支持ogv, 而Safari则支持h264
WebM由Google提出,是一个开放、免费的媒体文件格式
各个浏览器支持的音频格式列表
浏览器 | wave | ogg/ogv | aiff | Mp3 | au |
Firefox | √ | √ | × | × | × |
Google Chrome | × | √ | × | √ | × |
Safari | √ | × | √ | × | √ |
Opera | √ | √ | × | × | × |
二、ios和android对音频的支持
因为是在微信里实现属于网页端,苹果和安卓系统对权限的控制是不一样的。
最初在我们产品效果图设计完,设计师设计的很全面,包括音量控制、前进后退、静音等。
ios声音控制没有放开权限,不允许,这个也是我纠结了很久才知道的,咨询了一个国外大师
1、在线广播支持格式:ios支持在线音频格式为m3u8
andorid支持RTSP实时流协议
如果想要都支持必须得在服务器端转码,得到想要操作系统支持的音频格式,这个转码是技术核心,不容易实现需要时间
2、历史收听:mp3格式都支持
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...
一个客户要求给网站添加一个背景音乐,我用的是html5添加网页背景音乐的代码,在此记录一下以后有用。html5方法二:<videocontrols=""autoplay=""name="media&q