HTML音视频标签(audiovideoembed)

Posted yy_bazinga

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML音视频标签(audiovideoembed)相关的知识,希望对你有一定的参考价值。

音视频标签(audio、video、embed)

音频

audio标签

我们通常用audio标签来向页面中引入一个外部的音频文件。
音视频文件引入时,默认情况下不允许用户自己控制播放停止。

属性

controls

controls指定是否允许用户控制播放。
这个属性不是通过值来判断的,而是通过有没有,有这个属性就是允许,没有就是不允许。

autoplay

autoplay指定音频文件是否自动播放。
如果设置了autoplay,则音乐在打开页面时会自动播放。但是目前来讲,大部分浏览器都不会自动对音乐进行播放。

loop

loop指定音乐是否循环播放。
如果设置了loop,则音乐会循环播放。

使用方式

<audio src="./source/audio.mp3" controls autoplay loop></audio>

IE8及以下版本不支持audio标签,展示效果为控制台报错,界面看不出来有audio标签。

提示用户升级浏览器

除了通过src属性来指定外部文件的路径以外,还可以通过source来指定文件。所以还可以写成:

<audio controls>
    <source src="./source/audio.mp3">
</audio>

但是此时,用户看到的效果和直接使用

<audio src="./source/audio.mp3" controls></audio>

是一样的,那么我们需要提示用户,这里是有音频播放的,因为浏览器版本问题,导致音频播放功能无法使用。可以写成:

<audio controls>
    对不起,您的浏览器不支持播放音频!请升级浏览器!
    <source src="./source/audio.mp3">
</audio>

如果浏览器支持audio标签,则会自动去找audio标签中的source,如果浏览器不支持audio标签,即浏览器识别不出audio标签和source标签,此时界面会现时“对不起xxx”这段文字。

浏览器不支持MP3格式

有些浏览器不支持mp3格式,而是支持ogg格式,所以以前为了解决兼容性问题,可以写成:

<audio controls>
    对不起,您的浏览器不支持播放音频!请升级浏览器!
    <source src="./source/audio.mp3">
    <source src="./source/audio.ogg">
</audio>

这样,浏览器会先识别第一个source,识别不了mp3格式时,会去识别第二个sourse,如果可以识别ogg格式文件,就会播放对应的音频文件,如果仍然识别不了,才会显示“对不起xxx”这段文字。

兼容低版本浏览器(embed标签)

在老版本浏览器中其实是可以引入音频文件的(如IE8),只是体验不好,所以现在用到的不多:

<embed src="./source/audio.mp3" type="audio/mp3" width="300" height="100">

如果想兼容一些较低版本的浏览器,但是较高版本浏览器又希望用audio标签,那么可以通过以下方式实现:

<audio controls>
    <source src="./source/audio.mp3">
    <source src="./source/audio.ogg">
    <embed src="./source/audio.mp3" type="audio/mp3" width="300" height="100">
</audio>

视频

vidio标签

我们通常用video标签来向网页中引入一个视频。
使用方式和audio基本上是一样的。

兼容后的写法

<video controls>
    <source src="./source/video.webm">
    <source src="./source/video.mp4">
    <embed src="./source/video.mp3" type="audio/mp4">
</video>

其他事项说明

目前我们的例子,全部都是用的本地文件,所以用的都是相对路径。实际项目中,我们通常不会把音视频文件直接放在我们的服务器中,而是会购买一些第三方产品,把音视频文件放在那个服务器上,然后把路径引入过来。

还有一种方式:把我们的视频上传到一些如腾讯视频等服务器上,然后选择分享中的“复制通用代码”,把对应代码放在页面上,相当于是在页面上引入了一个腾讯视频的页面,访问的是腾讯的服务器,对我们的服务器就没有太大压力(引入方式是iframe标签)。

Web前端开发笔记——第二章 HTML语言 第十节 画布标签音视频标签


一、画布标签

<canvas> </canvas> 画布标签用于图形、字符等的绘制,它不能直接地绘制图形,要通过脚本即JavaScript来完成,这里不对具体脚本阐述,只介绍该标签的用法。通过指定id=""属性 ,用于在脚本中引用,而通过定义 width=""height=""属性来规定该画布的大小.,即宽度和高,如下:

<canvas id="" width="" height=""></canvas>

可以通过添加style=""属性来对画布加上边框,因为默认时画布是无边框的。
例如,在HBulider X中下列代码,设置画布的边框大小宽度为300,高度为250,边框大小为5px,且颜色为蓝色:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<title></title>
	</head>

	<body>
		<canvas id="12" width="300" height="250" style="border: 5px solid #0000FF"></canvas>
	</body>

</html>

运行结果如下:

二、音视频标签

一般浏览器通过带有flash插件,使其播放音视频,但也能通过HTML5中的标签来播放音视频。

(一)音频标签

通过<audio></audio>标签,在网页上加入音频元素,使能播放音频文件,添加src=""属性,即该音频文件的URL,controls="controls"属性表示显示音频控件,即播放暂停按钮、调节声音等等;loop="loop"属性表示当播放完该音频后,自动重新开始播放;autoplay="autoplay"属性表示当打开该网页页面时,音频文件加载好后自动开始播放该音频;muted="muted"属性表示该音频文件自动设置为静音输出。

<audio src="" controls="controls" loop="loop" autoplay="autoplay" muted="muted">
</audio>

另外要注意audio标签目前仅支持的3种文件格式:mp3、wav、ogg。
例如,在HBulider X中下列代码,音频文件位于站点文件夹music内,在文件夹中html文件调用该音频,设置音频控件、自动播放以及循环播放属性:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<title></title>
	</head>

	<body>
		<audio src="../music/陈奕迅 - 爱情转移.mp3" controls="controls" autoplay="autoplay" loop="loop">
		</audio>
	</body>

</html>

运行结果如下,可以正常播放音频文件:

(二)视频标签

和音频标签一样,也可以通过<video></video>标签,在网页上加入媒体元素,使能播放媒体。它的属性与音频标签属性一样,只不过多了宽度和高度属性设置,即通过width=""属性和height=""属性设置,但如果不设置大小属性,原视频播放画面大小会随页面的改变而改变。

<video src="" width="" height="" controls="controls" loop="loop" autoplay="autoplay" muted="muted">
</video>

这里也是一样,要注意video标签目前仅支持的3种文件格式:mp4、webm、ogg。
例如,在HBulider X中下列代码,音频文件位于站点文件夹video内,在文件夹中html文件调用该视频,设置视频控件、自动播放以及循环播放属性:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<title></title>
	</head>

	<body>
		<video src="../video/陈奕迅-倾城.mp4" controls="controls" autoplay="autoplay" loop="loop">
		</video>
	</body>

</html>

运行结果如下,可以正常播放视频文件:

(三)资源标签

当要定义多种媒体资源时,这时要用到<source> </source> 标签,它用在audio和video标签内。通过src=""属性和type=""属性,定义音视频文件的URL和类型,如下:

<audio controls="controls">
	<source src="../music/陈奕迅-爱情转移.mp3" type="audio/mp3">
</audio>

比如为了当用户使用不同的浏览器播放音视频时有些浏览器不支持该格式时,可以利用另一种格式,即第二个媒体资源。
例如,在HBulider X中下列代码,即在音频标签内定义了两个资源标签,它有两种格式,当浏览器都支持时任意播放,而有的浏览器不支持其中一种时选用另一种可支持的格式播放:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<title></title>
	</head>

	<body>
		<audio controls="controls" autoplay="autoplay" loop="loop">
			<source src="../music/陈奕迅-爱情转移.ogg" type="audio/ogg">
			<source src="../music/陈奕迅-爱情转移.mp3" type="audio/mp3">
		</audio>
	</body>

</html>


结语

以上就是全部内容,篇幅较长,感谢您的阅读和支持,若有表述或代码中有不当之处,望指出!您的指出和建议能给作者带来很大的动力!!!

以上是关于HTML音视频标签(audiovideoembed)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HTML 视频标签中播放 FLV 视频?

使用 HTML5 视频标签播放视频

视频标签 html5 是从 html4 标签继承的吗?

HTML视频标签显示Youtube视频

使用 html5 视频标签从特定位置开始播放视频

HTML 视频标签 Safari