百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

HTML中嵌入视频和音频代码 如何在html中嵌入视频

qiyuwang 2024-10-06 12:17 9 浏览 0 评论

在网页中添加视频、声音、动画等,可以增强用户体验。在HTML5之前,为网页添加多媒体的唯一办法,就是使用第三方的插件(如,Adobe Flash等)。

HTML5中,提供了对多媒体的原生支持,只需通过 video 元素,就可以向网页嵌入视频、电影或音频资源,通过 audio 元素向网页嵌入音频资源,省时省力。

一、视频

在HTML5时代,在网页中嵌入视频非常简单,只需要一个 video 元素,并设置它的 src 属性,使其链接一个视频地址就可以完全搞定了,这个太esay了

<video src="media/vedio.mp4"></video>

把这个网站在IE8中打开一看,网站上除了一片空白外,什么也没有,这是为什么呢?

原来 video 是HTML5最新引入的元素,并不是所有浏览器都支持它,IE8及以下版本都无法识别 video 标签。如果浏览器不识别 video标签,则会忽略它,当做什么都没有。这就是网站上一片空白的原因。

这个问题好解决,只需在 video 标签之间放置文本信息,不支持 video 标签的老浏览器,会显示 video 标签之间的文本信息,以提示用户浏览器不支持 video,就这么简单!

<video src="media/vedio.mp4">

你的浏览器已经老掉牙了,不支持video,还不赶快使用现代浏览器O(∩_∩)O~!

</video>

在IE8上打开一看,确实显示了提示文本,这下好多了,至少用户知道自己的浏览器不能播放视频,该换浏览器了。

下载了Opera浏览器的最新版本25.0,打开一看,怎么还是一片空白外!Opera浏览器明明是支持video标签的,那又是为什么呢?

这个就得从视频的编码格式说起了。video 元素支持三种视频格式:Ogg、MP4、WebM。

Ogg是带有Theora视频编码和Vorbis音频编码的文件,后缀名为 .ogg;MP4是带有H.264视频编码和AAC音频编码的MP4文件,后缀名为 .mp4;WebM是VP8视频编码和Vorbis音频编码的文件,后缀名为 .webm。

这个Opera浏览器呢,它可以支持ogg,但不支持mp4。由于Opera支持video标签,故video标签之间的文本信息没有显示出来,但它不支持ogg,所以就不进行播放,最终导致页面出现一片空白。这下可怎么办呢?

其实办法有的是,我们可以从网上下载一副图像,放到视频播放窗口,如果视频无法播放,就显示这张图片,是不是更好呢?从网上下载一张美女图片,干脆叫beauty.jpg吧。那这个图像怎么添加到视频窗口呢?

video标签有个poster 属性,就是专门在视频窗口放置图片的。poster是一个video的占位符,无论什么情况下,只要视频还没有播放(视频下载过程中、视频不存在、不支持该视频类型、用户点击播放按钮前),就会显示该图像,可以看做是视频播放之前插入的宣传画或海报。

<video src="media/vedio.mp4" poster = "img/beauty.jpg">

你的浏览器已经老掉牙了,不支持video,还不赶快使用现代浏览器O(∩_∩)O~!

</video>

在Opera浏览器上刷新一下,真的有一个美女冲着自己微笑呢。虽然视频没有播放出来,这回心情却是好多了。

那我可不能一天到晚只看美女呀,视频还是还是要想办法播放出来的。既然Opera浏览器不支持mp4,我们就换成需要ogg吧,这样就肯定没问题了。

我想了想,这个办法不好,万一某个浏览器只支持支持ogg,不支持mp4呢。这年头,什么都缺,就是不缺点子,随便在网上一搜,办法就有了。

在 video 元素中添加 source 元素,就可以解决这个问题。在source 元素中,通过 src 属性指定视频的地址,通过 type 属性指定视频的类型,以帮助浏览器决定是否能播放该视频。并且,在 video 元素中可以添加任意多个source 元素,让不同的 source 元素链接到不同的视频文件。

这样的话,当浏览器发现 video 元素时,首先会查看它本身是否定义了 src 属性。如果没有,就会检查 source 元素。浏览器会逐个查看这些视频源,直到找到一个可以播放的视频。一旦找到,就会播放它并忽略其他的视频源。我们干脆添加两个source,一个是mp4,一个是ogg,这下视频是一定能播放出来了。

<video poster = "img/beauty.jpg">

<source src="media/vedio.mp4" type="video/mp4">

<source src="media/vedio.ogg" type="video/ogg">

你的浏览器已经老掉牙了,不支持video,还不赶快使用现代浏览器O(∩_∩)O~!

</video>

在Opera浏览器上又刷新一下,只有美女冲着我微笑,视频还是没播放出来。唉,太粗心了,忘记添加播放视频的控件了。

在video标签中,通过添加controls 属性来为视频添加播放控件,方便用户执行播放、暂停操作和音量控制。

<video poster = "img/beauty.jpg" controls>

(此处略去500字…)

</video>

在Opera浏览器上又刷新一下,效果真的不一样,这次不仅看到美女,还看到了视频控件。用鼠标猛戳一下那个播放按钮,哈哈,不错,真的听到美妙的旋律。我们的ogg文件,终于播放出来了,让我们好好享受一下吧O(∩_∩)O。

听了一会,忽然一想,不对呀,我刚才点了播放按钮后,等了半天才听到声音。能不能我一点播放按钮,就立即播放呢?

原来视频也是需要下载缓存的,点击播放按钮后,首先缓存,然后才播放的。那能不能在页面加载的同时就缓存呢。这样,用户点击播放后,就不必等待了。

这当然可以,在video标签中,通过添加preload属性来为视频添加预加载功能,在页面加载的同时加载视频。

<video poster = "img/beauty.jpg" controls preload>

(此处略去500字…)

</video>

关于 preload 属性,稍微再啰嗦一点,就是可以把它设置为 metadata,让浏览器仅仅预加载视频的基本信息,如尺寸、时长、以及一些关键的帧。这样的话,在开始播放之前,浏览器可以提前计算视频的显示尺寸。

既然一切都OK了!让我们看看mp4是不是能正常播放。下载最新版的Google Chrome 38.0浏览器,打开网页,猛戳一下播放按钮。

等等~,等等~,不对,怎么只有声音没有画面,明明是mp4格式的文件呀?使用暴风影音试了一下,是有画面的呀!

辛辛苦苦又在网上搜了一番,花了整整586秒,终于找到了答案。mp4视频需要h.264编码格式才会有图像的。

找了一个 h.264 编码格式的 mp4 试了一下,不错,确实有图像了!看了半天,原来是一部老外的电影,叽里咕噜一阵,一句话也没听懂。那O(∩_∩)O~,能否提供中文字幕呢,这样就不必费老大劲去听了!

HTML5中,通过在video元素添加track元素为视频添加字幕。字幕文件有两种格式:WebVTT和TTML。WebVTT是Web视频文本轨迹(Web Video Text Track),是UTF-8编码格式的文本文件;TTML是时序文本标记语言(Timed Text Markup Language),是XML格式的文件。两种文件的具体格式,已经超出我们的讨论范围。

video元素支持添加多个track元素,不同的track元素链接到不同的字幕文件。用户可以在各个字幕间进行切换。

<video poster = "img/beauty.jpg" controls preload>

<track src="en_track.vtt" kind="subtitles" srclang="en" label="English" default>

<track src="cn_track.vtt" kind="captions" srclang="zh" label="简体中文">

</video>

track元素中,src属性指定字幕文件的URL;srclang属性字幕文件的语言类型,若kind 属性值是 "subtitles" 时,该属性必需的;label 属性指定字幕标签,每个字幕元素必需设置一个唯一不重复的标签,切换字幕时,会显示标签的名称;kind指定字幕内容类型,只能是subtitles、captions、descriptions、chapters、metadata 之一;default属性指定是否是默认字幕,如果一个都没指定,将不会自动显示字幕。

除了字幕外,我还希望对视频进行过多的控制,比如让视频自动播放、循环播放、默认静音,以及视频窗口的尺寸等等,这些都能做到吗?

这已经不是什么事了,video 元素已经提供了相关属性,根据需要设置相应的属性就可以了。这些属性及含义见表 23:

哦,原来这么简单呀!那就到此为止吧,网页中嵌入视频的全部代码都在这里,就打包给你吧!

<video width="300" poster="img/beauty.jpg" controls preload autoplay loop muted>

<source src="media/vedio.mp4">

<source src="media/vedio.ogg">

<track src="en_track.vtt" kind="subtitles" srclang="en" label="English" default>

<track src="cn_track.vtt" kind="captions" srclang="zh" label="简体中文">

你的浏览器已经老掉牙了,不支持video,还不赶快使用现代浏览器O(∩_∩)O~!

</video>

睁大眼睛一看,却只有7行代码。然而,就这区区7行代码,可把他折磨得够呛。

看着这一切都全部搞定,他仰望着天空,长长呼了一口气,显得是那么的放松,那么的惬意。此时,他闭上眼睛,在自己的梦幻世界里遨游!


二、音频

有了在网页中嵌入视频的经历,要在网页中嵌入音频,那简直就是小菜一碟了。只要把vedio元素换成 audio 元素,就全部搞定。

但需要了解的是,audio 所支持的音频格式只有Ogg Vorbis、mp3 和 wav。还要知道,由于音频没有画面,也就没有 width、height、poster 属性,而其他属性都支持,并且跟视频的含义相同。

网页中嵌入音频的代码如下:

<audio controls preload autoplay loop muted>

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

<source src="media/audio.wav">

<source src="media/audio.ogg">

你的浏览器已经老掉牙了,不支持audio,还不赶快使用现代浏览器O(∩_∩)O~!

</audio>

相关推荐

别再乱找了!这才是 Alist 本地安装挂载的正确打开方式

一、探秘Alist的神奇世界在这个数据爆炸的时代,我们的生活里充斥着各种各样的网盘服务,百度网盘、阿里云盘、腾讯微云等等,它们成了我们存储资料的得力助手。但随着网盘数量的增多,管理这些分散在不同平...

如何将数据从旧iPhone传输到新iPhone 16?这五个方法你必须知道!

前不久,苹果发布了备受期待的iPhone16系列,新机型搭载了更强大的芯片、更流畅的操作体验,还有备受热议的全新摄像系统。无论你是冲着A18仿生芯片,还是更丰富的动态岛功能,相信很多果粉早已跃跃欲试...

大数据传输的定义与大数据传输解决方案的选择

当我们需要处理大量的数据时,我们就要把数据从一个地方移动到另一个地方。这个过程就叫做大数据传输。它通常需要用到高速的网络连接、分散的存储系统和数据传输协议,以保证数据的快速、可靠和安全的移动。常用的大...

【工具】在线传输文件工具(在线文件互传)

前言在线传输文件工具主要是用于在不同的设备之间,如手机、电脑、平板等快速便捷地传送文件。告别使用USB传统传输文件的方式。...

如何使用 CAN-FD 在 LPC5500 上传输数据

目录1引言2CAN-FD3示例演示1引言...

轻松同步:将照片从三星手机传输到iPad的简便方法

概括想要在新iPad上查看三星照片吗?但是,如果您不知道如何将照片从三星手机传输到iPad,则无法在iPad上查看图片。为此,本文分享了7个有用的方法,以便您可以使用它们在不同操作系统之...

常见又地道的网络缩写:美剧中常说的SFW到底是个啥?

在这堂课中,让我们来学习更多在数字网络世界中常用的有趣网络用语。7shifts/unsplashhttp,https“http”和“https”是万维网(www)传输文件用的协议。“http”是hy...

每天学会一个计算机网络协议之FTP

开始行文之前提出一个问题,相信大家在看完本文后一定可以回答当我们在网站上填写注册信息的时候,需要我们上传照片,上传的过程发生了什么?下面引入我们的主角,FTP文件传输协议FTPFileTransf...

即用即走,这3款文件分享工具真香

打工人的日常,免不了「文件分享存储服务」的需求。我们一般会选择不同的网盘,但是大家也知道,网盘不是限速就是叫你充值。今天跟大家简单推荐3款文件分享工具,既可以免登录匿名使用,而且操作简单稳定性也不错。...

安卓手机里的文件和照片与Mac互传的办法

因为HandShake一段时间未更新,似乎目前不可操作。我一时间未找到更好的「传输」办法,经实践操作,向大家介绍一下「安卓手机」,包括「一加」、「索尼」,都可用此方法,来进行文件传输到Mac的...

软网推荐:同一个平台选择不同的传输方法

平时上网的时候,我们经常要分享一些文件给其他朋友,一般通过云服务平台来实现。今天笔者给大家介绍的Worksphere传输服务,它提供了两种不同的分享方式,方便我们根据实际需要进行选择。一个链接分享所有...

跨平台不限速的免费文件传输网站(跨平台不限速的免费文件传输网站是什么)

大家好,欢迎来到天天惠分享,不知道各位平时都是用什么方法来进行文件跨平台传输的呢?是百度网盘?微信还是QQ?亦或是有线传输。虽然这些方法都可以达到传输的目的,但都有各自的缺陷,使用起来一言难尽。比如百...

全网最全最详细的全平台文件传输方法,解决你文件传输问题(一)

前言想必现在大多数人文件传输的方法还是使用qq微信,但是qq微信的文件传输有时候真是,...

文件传输工具有哪些?这3款堪称办公必备!

在不同设备间,想把文件从一台设备传输到另一台,尤其是大体积文件,更是免不了用到文件传输工具,可以说文件传输工具已成为提升效率的关键载体。面对海量文档、设计素材、会议纪要的流转需求,传统邮件附件、U盘拷...

小白也能用的跨网文件交换系统!10款简单易上手的文件摆渡工具

跨网文件交换系统对于需要频繁在不同网络环境中进行文件共享的用户来说至关重要。以下是10款简单易上手的文件摆渡工具,适合小白用户使用,帮助他们高效地分享和传输文件。10款简单易上手的跨网文件交换工具1....

取消回复欢迎 发表评论: