javascript:<video>,<audio>

时间:2020-03-15 21:28:09   收藏:0   阅读:78

原文章:https://wangdoc.com/javascript/index.html

<video><audio>

概述

<video>元素用来加载视频,是HTMLVideoElement对象的实例。<audio>元素用来加载音频,是HTMLAudioElement对象的实例。而HTMLVideoElementHTMLAudioElement都继承了HTMLMediaElement,所以这两个 HTML 元素有许多共同的属性和方法,可以放在一起介绍。

理论上,这两个 HTML 元素直接用src属性指定媒体文件,就可以使用了。

<audio src="background_music.mp3"/>
<video src="news.mov" width=320 height=240/>

注意,<video>元素有width属性和height属性,可以指定宽和高。<audio>元素没有这两个属性,因为它的播放器外形是浏览器给定的,不能指定。

实际上,不同的浏览器支持不同的媒体格式,我们不得不用<source>元素指定同一个媒体文件的不同格式。

<audio id="music">
  <source src="music.mp3" type="audio/mpeg">  
  <source src="music.ogg" type='audio/ogg; codec="vorbis"'>
</audio>

浏览器遇到支持的格式,就会忽略后面的格式。

这两个元素都有一个controls属性,只有打开这个属性,才会显示控制条。注意,<audio>元素如果不打开controls属性,根本不会显示,而是直接在背景播放。

HTMLMediaElement 接口

HTMLMediaElement并没有对应的 HTML 元素,而是作为<video><audio>的基类,定义一些它们共同的属性和方法。

HTMLMediaElement接口有以下属性。

HTMLMediaElement接口有如下方法。

下面是play()方法的一个例子。

var myVideo = document.getElementById('myVideoElement');

myVideo
.play()
.then(() => {
  console.log('playing');
})
.catch((error) => {
  console.log(error);
});

HTMLVideoElement 接口

HTMLVideoElement接口代表了<video>元素。这个接口继承了HTMLMediaElement接口,并且有一些自己的属性和方法。

HTMLVideoElement 接口的属性。

HTMLVideoElement 接口的方法。

HTMLAudioElement 接口

HTMLAudioElement接口代表了<audio>元素。

该接口继承了HTMLMediaElement,但是没有定义自己的属性和方法。浏览器原生提供一个Audio()构造函数,返回的就是HTMLAudioElement实例。

var song = new Audio([URLString]);

Audio()构造函数接受一个字符串作为参数,表示媒体文件的 URL。如果省略这个参数,可以稍后通过src属性指定。

生成HTMLAudioElement实例以后,不用插入 DOM,可以直接用play()方法在背景播放。

var a = new Audio();
if (a.canPlayType('audio/wav')) {
  a.src = 'soundeffect.wav';
  a.play();
}

事件

<video><audio>元素有以下事件。

原文:https://www.cnblogs.com/wbyixx/p/12499651.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!