HTML5实战与剖析之媒体元素(4、检测编解码器的支持和Audio构造函数)
HTML5媒体元素检测编解码器的支持情况
虽然媒体元素可以实现音频和视频功能,但是并不是所有浏览器都支持video标签和audio标签的所有编解码器,这意味着开发人员必须提供很多歌媒体来源。在JavaScript API中能够检测浏览器是否支持某种格式和编解码器。这两个媒体元素都有一个canPlayType()方法,该方法接收一种格式/编解码器字符串,返回”probably”、”maybe”或者””(空字符串)。空字符串是假值,而”probably”和”maybe”都是真值,所以if条件测试中可以转成true,所以在if中可以作为条件进行判断。检测格式/编解码器的方法如下
JavaScript代码
if(audio.canPlayType("audio/mpeg")){ //进一步编写 }
如果给canPlayType()传入了一种MIME类型,则返回值很可能是”maybe”或者空字符串。这是因为媒体文件本身只不过是音频或者视频的一个容器,真正决定文件能否播放的还是编码格式。在同时传入MIME类型和编码器的情况下,可能性就会增加,返回的字符串会变成”probably”。小例子如下
HTML代码
<audio src="meng.ogg" id="myAudio"></audio>
JavaScript代码
var audio = document.getElementById("myAudio"); //很可能"maybe" if(audio.canPlayType("audio/mpeg")){ //进一步编写 } //可能是"probably" if(audio.canPlayType("audio/ogg; codecs=\"vorbis\"")){ //进一步编写 }
编解码器必须用引号引起来才行。下面就为大家介绍一下已经得到支持的音频格式和编解码器。
AAC格式:字符串audio/mp4,codecs=”mp4a.40.2”;支持的浏览器:IE9+、Safari 4+和iOS版Safari
MP3格式:字符串audio/mpeg;支持的浏览器:IE9+、Chrome
Vorbis格式:字符串audio/ogg,codecs=”vorbis”;支持的浏览器:Firefox 3.5+、Chrome、Opera 10.5+
WAV格式:字符串audio/wav,codecs=”1”;支持的浏览器:Firefox 3.5+、Opera 10.5+、Chrome
下面是用canPlayType()来检测视频格式编解码器。
H.264格式:字符串video/mp4,codecs=”avc1.42E01E,mp4a.40.2”;支持的浏览器:IE9+、Safari 4+、iOS版Safari、Android版Webkit
Theora:字符串video/ogg,codecs=”theora”;支持的浏览器:Firefox 3.5+、Opera 10.5+、Chrome
WebM:video/webm,codecs=”vp8,vorbis”;支持的浏览器:Firefox 4+、Opera 10.6+、Chrome
HTML5媒体元素之Audio构造函数
在原生的JavaScript中,有一个构造函数Audio,可以在任何时候播放音频。从都是DOM元素的角度出发,Audio对象和Image对象很类似,但是Audio对象不用像Image对象那样必须插入到文档中。只要创建一个新实例,传入音频源文件即可。小例子如下
JavaScript代码
var audio = new Audio("meng.mp3"); audio.addEventListener('canplaythrough',function(event){ audio.play(); }, false);
创建新的Audio实例即可开始下载指定的文件。下载完成后,调用play()方法就可以播放音频。在iOS中,调用play()时会弹出一个对话框,得到用户的允许后才能播放。如果想在一段音频播放后再播放另一端音频,必须在onfinish事件处理程序中调用play()方法。
以上就是HTML5实战与剖析之媒体元素(4、检测编解码器的支持和Audio构造函数)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Panduan untuk Sempadan Jadual dalam HTML. Di sini kita membincangkan pelbagai cara untuk menentukan sempadan jadual dengan contoh Sempadan Jadual dalam HTML.

Panduan untuk HTML margin-kiri. Di sini kita membincangkan gambaran keseluruhan ringkas tentang HTML margin-left dan Contoh-contohnya bersama-sama dengan Pelaksanaan Kodnya.

Ini ialah panduan untuk Nested Table dalam HTML. Di sini kita membincangkan cara membuat jadual dalam jadual bersama-sama dengan contoh masing-masing.

Panduan untuk Susun Atur Jadual HTML. Di sini kita membincangkan Nilai Susun Atur Jadual HTML bersama-sama dengan contoh dan output n perincian.

Panduan kepada Senarai Tertib HTML. Di sini kami juga membincangkan pengenalan senarai dan jenis Tertib HTML bersama-sama dengan contoh mereka masing-masing

Panduan untuk Pemegang Tempat Input HTML. Di sini kita membincangkan Contoh Pemegang Tempat Input HTML bersama-sama dengan kod dan output.

Panduan untuk Memindahkan Teks dalam HTML. Di sini kita membincangkan pengenalan, cara teg marquee berfungsi dengan sintaks dan contoh untuk dilaksanakan.

Panduan untuk Butang onclick HTML. Di sini kita membincangkan pengenalan, kerja, contoh dan onclick Event masing-masing dalam pelbagai acara.
