Rumah hujung hadapan web Tutorial H5 HTML5视频播放器<video>和音频播放器<audio>用法

HTML5视频播放器<video>和音频播放器<audio>用法

Mar 30, 2017 pm 01:30 PM
audio html5 video

  HTML5视频播放器

HTML5里引入的新标记 

 

HTML5视频播放器<video>和音频播放器<audio>用法


如何嵌入视频和音频

在网页里嵌入HTML5音频播放器和视频播放器的方法非常简单:

<video src="http://www.webhek.com/~j/theora_testsuite/320x240.ogg" controls autoplay loop>
  Your browser does not support the <code>video</code> element.</video>
Salin selepas log masuk

上面这个例子显示了如何播放一个视频文件,并露出视频播放控制按钮。

下面这个例子是在HTML网页里嵌入音频 audio 的方法:

<audio controls autoplay loop src="/test/audio.ogg">
<p>Your browser does not support the <code>audio</code> element.</p>
</audio>
Salin selepas log masuk

这里的 src 属性里可以填入一个音频/视频的URL,也可以是一个本地的文件。

<audio src="audio.ogg" controls autoplay loop>
<p>Your browser does not support the <code>audio</code> element </p>
</audio>
Salin selepas log masuk

下面是

  • controls : 显示标准的 HTML5 视频/音频播放器控制条、控制按钮。

  • autoplay : 让文件自动播放。

  • loop : 让文件循环播放。

<audio src="audio.mp3" preload="auto" controls></audio>
Salin selepas log masuk

这里的 preload 属性是用来缓存大体积文件的。它有三个可选值:

  • "none" 不缓存

  • "auto" 缓存

  • "metadata" 只缓存文件元信息

为了能够兼容各种浏览器对不同媒体类型的支持,我们可以用多个 元素来提供多个不同的媒体类型。例如:

<video controls>
  <source src="foo.ogg" type="video/ogg">
  <source src="foo.mp4" type="video/mp4">
  Your browser does not support the <code>video</code> element.</video>
Salin selepas log masuk

支持Ogg格式视频流的浏览器可以播放 Ogg 文件。如果不支持,可以播放 MPEG-4 文件。查看各种浏览器对各种媒体类型的支持情况,请查看这里。

我们还可以指定播放使用的解码器(codecs); 这样就可以更精确的让浏览器如何播放提供的视频:

<video controls>
  <source src="foo.ogg" type="video/ogg; codecs=dirac, speex">
  Your browser does not support the <code>video</code> element.</video>
Salin selepas log masuk

上面,我们指定了这个视频需要使用 Dirac 和 Speex 解码器。如果浏览器支持 Ogg 格式,但没有指定的解码器,那么,视频将不会被加载。

如果没有提供 type 属性,则浏览器会向服务器询问媒体类型,看看是否支持;如果不支持,浏览器将会去检查下一个 source 属性。

用JavaScript控制视频/音频播放

一旦视频文件正确的嵌入到了HTML网页里,我们就可以使用JavaScript里控制它的部分,获取它的播放信息。比如,用JavaScript启动视频播放:

var v = document.getElementsByTagName("video")[0];v.play();
Salin selepas log masuk

用JavaScript可控制HTML5视频播放器实现播放、暂停、快进,快退、音量等。

<audio id="demo" src="audio.mp3"></audio><p>
  <button onclick="document.getElementById(&#39;demo&#39;).play()">播放</button>
  <button onclick="document.getElementById(&#39;demo&#39;).pause()">暂停</button>
  <button onclick="document.getElementById(&#39;demo&#39;).volume+=0.1">降低音量</button>
  <button onclick="document.getElementById(&#39;demo&#39;).volume-=0.1">提高音量</button>
  </p>
Salin selepas log masuk

停止下载视频文件

虽然我们可以使用pause()方法里让视频文件停止播放,但浏览器并未停止下载媒体文件,除非它达到了一定的缓存量。

下面是让浏览器如何停止下载视频文件的方法:

var mediaElement = document.getElementById("myMediaElementID");
mediaElement.pause();
mediaElement.src=&#39;&#39;;
//或
mediaElement.removeAttribute("src");
Salin selepas log masuk

通过删除 src 属性(或者设置为空值),这样就能停止文件的网络下载。

设定播放的时间点定位


我们可以指定视频从某时某分某秒开始播放,这是通过设置 currentTime 属性来实现。

我们可以通过 seekable 属性来获得视频有效的播放时间范围。它会返回一个TimeRanges 对象,能够告诉你有效的开始时间和结束时间。

var mediaElement = document.getElementById(&#39;mediaElementID&#39;);
mediaElement.seekable.start(0);  // 返回开始时间 (秒)
mediaElement.seekable.end(0);    // 返回结束时间 (秒)
mediaElement.currentTime = 122; // 定位到第 122 秒播放
mediaElement.played.end(0);      // 返回已经播放的时间长度(秒)
Salin selepas log masuk


设定播放范围


当在网页里嵌入视频/音频文件时,

它的具体语法是这样的:

#t=[开始时间][,结束时间]
Salin selepas log masuk

时间的表示方法可以使用秒数,也可以提供一个 ”时:分:秒“ 格式的时间(例如 2:05:01 )。/p>

举例:

www.webhek.com/video.ogg#t=10,20

指定视频从10秒开始播放,到20秒处结束。

www.webhek.com/video.ogg#t=,10.5

指定视频从头开始播放到 10.5 秒处。

www.webhek.com/video.ogg#t=,02:00:00

指定视频播放2小时。

www.webhek.com/video.ogg#t=60

指定视频从第60秒开始播放,播放到结束。

设置视频封面(poster参数)

当视频不是自动播放时,在有些浏览器里,视频在未播放前的缺省界面是空白,这样很没有意义,我们可以给视频设定一个封面,用视频里的某个比较具有代表意义的画面截图作为视频的封面,设定视频封面的参数是 poster:

<video poster=&#39;cover.jpg&#39; src="http://www.webhek.com/~j/theora_testsuite/320x240.ogg" controls autoplay loop>
  Your browser does not support the <code>video</code> element.</video>
Salin selepas log masuk

当视频加载遇到错误时的补救方法

有时候视频资源会失效,或加载失败,或者浏览器不能解码当前视频格式,当遇到这种情况,我们应该给与补救措施,替换当前视频资源地址,或用其它措施补救,比如将video对象替换成图片。我们可以使用JavaScript对视频加载中的“error”事件进行监听,比如对于下面的视频资源:

<video controls>
  <source src="dynamicsearch.mp4" type="video/mp4"></source>
  <a href="dynamicsearch.mp4">
    <img  data-original="dynamicsearch.jpg" alt="Dynamic app search in Firefox OS">
  </a>
  <p>Click image to play a video demo of dynamic app search</p>
</video>
Salin selepas log masuk

我们使用下面的js代码进行补救:

var v = document.querySelector(&#39;video&#39;),
    sources = v.querySelectorAll(&#39;source&#39;),
    lastsource = sources[sources.length-1];
lastsource.addEventListener(&#39;error&#39;, function(ev) {
  var d = document.createElement(&#39;p&#39;);
  d.innerHTML = v.innerHTML;
  v.parentNode.replaceChild(d, v);
}, false);
Salin selepas log masuk

以上就是HTML5视频播放器

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Sempadan Jadual dalam HTML Sempadan Jadual dalam HTML Sep 04, 2024 pm 04:49 PM

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

Jadual Bersarang dalam HTML Jadual Bersarang dalam HTML Sep 04, 2024 pm 04:49 PM

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

HTML jidar-kiri HTML jidar-kiri Sep 04, 2024 pm 04:48 PM

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

Klipsch memperkenalkan bar bunyi utama Flexus Core 300 dengan sokongan 8K, 12 pembesar suara dan pembetulan bilik Klipsch memperkenalkan bar bunyi utama Flexus Core 300 dengan sokongan 8K, 12 pembesar suara dan pembetulan bilik Sep 05, 2024 am 10:16 AM

Klipsch Flexus Core 300 ialah model teratas dalam siri ini dan diletakkan di atas Flexus Core 200 yang sedia ada dalam barisan bar bunyi syarikat. Menurut Klipsch, ini adalah bar bunyi pertama di dunia yang bunyinya boleh disesuaikan dengan th

Susun Atur Jadual HTML Susun Atur Jadual HTML Sep 04, 2024 pm 04:54 PM

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

Senarai Tertib HTML Senarai Tertib HTML Sep 04, 2024 pm 04:43 PM

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

Pemegang Tempat Input HTML Pemegang Tempat Input HTML Sep 04, 2024 pm 04:54 PM

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

Memindahkan Teks dalam HTML Memindahkan Teks dalam HTML Sep 04, 2024 pm 04:45 PM

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

See all articles