使用HTML5在网页中嵌入音频和视频播放的基本方法

   2016-03-08 0
核心提示:这篇文章主要介绍了使用HTML5在网页中嵌入音频和视频播放的基本方法, 和 标签的使用非常方便,而且使网页视频不再依赖频繁出错的Flash播放器,需要的朋友可以参考下

HTML5 特性,包括原生音频和视频支持而无需 Flash。

HTML5 <audio> 和 <video> 标签让我们给站点添加媒体变得简单。我们只需要设置 src 属性来识别媒体资源,包含 controls 属性让用户可以播放和暂停媒体。

嵌入视频
下面是在 Web 页面中嵌入视频文件最简单的形式:

XML/HTML Code复制内容到剪贴板
  1. <video src="foo.mp4"  width="300" height="200" controls>  
  2.     Your browser does not support the <video> element.      
  3. </video>  

目前的 HTML5 规范草案还没有指定浏览器应该在 video 标签中支持哪种视频格式。但是最常用的视频格式是:

Ogg:带有 Thedora 视频编码器和 Vorbis 音频编码器的 Ogg 文件。
mpeg4:带有 H.264 视频编码器和 AAC 音频编码器的 MPEG4 文件。
我们可以使用带有媒体类型和其他属性的 <source> 标签指定媒体文件。video 元素允许使用多个 source 元素,浏览器会使用第一个认可的格式:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE HTML>  
  2. <html>  
  3. <body>  
  4.    <video  width="300" height="200" controls autoplay>  
  5.        <source src="/html5/foo.ogg" type="video/ogg" />  
  6.        <source src="/html5/foo.mp4" type="video/mp4" />  
  7.        Your browser does not support the <video> element.   
  8.    </video>  
  9. </body>  
  10. </html>  

Video 属性规范
HTML5 video 标签可以使用多个属性控制外观和感觉以及各种控制功能:

属性 描述
autoplay 如果指定这个布尔值属性,只要没有停止加载数据,视频就会立刻开始自动播放。
autobuffer 如果指定这个布尔值属性,即使没有设置自动播放,视频也会自动开始缓冲。
controls 如果指定这个属性,就允许用户控制视频播放,包括音量控制,快进,暂停或者恢复播放。
height 这个属性以 CSS 像素的形式指定视频显示区域的高度。
loop 如果指定这个布尔值属性,表示允许播放结束后自动回放。
preload 指定这个属性,视频会在载入页面时加载并准备就绪。如果指定自动播放则忽略。
poster 这是一个图像 URL,显示到用户播放或快进。
src 要嵌入的视频 URL。可选,可以在 video 块中使用 <source> 元素替代来指定要嵌入的视频。
width 这个属性以 CSS 像素的形式指定视频显示区域的宽度。

嵌入音频
HTML5 支持的 <audio> 标签用于在如下所示的 HTML 或 XHTML 文档中嵌入语音内容。

XML/HTML Code复制内容到剪贴板
  1. <audio src="foo.wav" controls autoplay>  
  2.     Your browser does not support the <audio> element.      
  3. </audio>  

当前的 HTML 草案规范还没有指定浏览器应该在 audio 标签中支持哪种音频格式。但是最常用的音频格式是 ogg,mp3 和 wav。

我们可以使用带媒体类型以及其他属性的的 <source> 标签指定媒体。Audio 元素允许使用多个 source 元素,并且浏览器会使用第一个认可的格式:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE HTML>  
  2. <html>  
  3. <body>  
  4.    <audio controls autoplay>  
  5.        <source src="/html5/audio.ogg" type="audio/ogg" />  
  6.        <source src="/html5/audio.wav" type="audio/wav" />  
  7.        Your browser does not support the <audio> element.   
  8.    </audio>  
  9. </body>  
  10. </html>  

Audio 属性规范

HTML5 audio 标签可以使用多个属性来控制外观,感受以及各种控制功能:

属性 描述
autoplay 如果指定这个布尔值属性,只要没停止加载数据,音频就会立刻自动开始播放。
autobuffer 如果指定这个布尔值属性,即使没有设置自动播放,音频也会自动开始缓冲。
controls 如果指定这个属性,表示允许用户控制音频播放,包括音量控制,快进以及暂停/恢复播放。
loop 如果指定这个布尔值属性,表示允许音频播放结束后自动回放。
preload 这个属性指定加载页面时加载音频并准备就绪。如果指定自动播放则忽略。
src 要嵌入的音频 URL。可选,可以在音频块里面使用 <source> 元素指定要嵌入的音频来替代。

处理媒体事件
HTML5 audio 和 video 标签可以用多个属性利用 JavaScript 控制各种控制功能:
事件 描述
abort 播放中止时生成这个事件。
canplay 足够的数据可用并且媒体可以播放时生成这个事件。
ended 播放完成时生成这个事件。
error 发生错误时生成这个事件。
loadeddata 媒体第一帧载入完成时生成这个事件。
loadstart 开始加载媒体时生成这个事件。
pause 播放暂停时生成这个事件。
play 播放开始或者恢复时生成这个事件。
progress 定期通知媒体下载进度时生成这个事件。
ratechange 播放速度改变时生成这个事件。
seeked 快进操作完成时生成这个事件。
seeking 快进操作开始时生成这个事件。
suspend 媒体加载被暂停时生成这个事件。
volumechange 音频音量变化时生成这个事件。
waiting 请求操作(比如播放)被延迟,等待另一个操作完成(比如快进)时生成这个事件。

下面是一个允许播放给定视频的示例:

XML/HTML Code复制内容到剪贴板
  1. <!DOCTYPE HTML>  
  2. <head>  
  3. <script type="text/javascript">  
  4. function PlayVideo(){   
  5.    var v = document.getElementsByTagName("video")[0];     
  6.    v.play();    
  7. }   
  8. </script>  
  9. </head>  
  10. <html>  
  11. <body>  
  12.    <form>  
  13.    <video  width="300" height="200" src="/html5/foo.mp4">  
  14.        Your browser does not support the <video> element.   
  15.    </video>  
  16.    <input type="button" onclick="PlayVideo();"  value="Play"/>  
  17.    </form>  
  18. </body>  
  19. </html>  

配置服务器媒体类型
大多数服务器默认都没使用正确的 MIME 类型提供 Ogg 或 mp4 媒体,因此我们可能需要添加适当的配置。


复制代码
代码如下:
AddType audio/ogg .oga
AddType audio/wav .wav
AddType video/ogg .ogv .ogg
AddType video/mp4 .mp4

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • [javascript] ie下audio不支持一些媒体类型
     ie下audio不支持一些媒体类型 , 所以需要进行兼容处理这里可以用js进行判断 ,  并加载不同的资源文件 , 这样就兼容了ieif (b.canPlayType('audio/ogg; codecs="vorbis"')) { }else{ie下加载不同的资源文件}audio id="chatMessageAudio"source id="chatMes
    03-08
  • html5中的audio标签针对IOS系统的兼容处理
    最近在写一个移动端项目,在Android设备是播放音乐没有问题,但是在苹果设备上音乐无法播放,查阅资料才知道safari默认在没有用户交互的情况下是不允许自动播放音乐的.所以想到了用touchstart事件进行交互代码(function(){var audio = document.querySelector('#
    03-08
  • Jquery监控audio单选框选中事件(实际通过click)
     $('input:radio[name="pathType"]').click(function(){var checkValue = $('input:radio[name="pathType"]:checked').val(); alert(checkValue);}); 
    02-08
  • vue使用H5的audio标签问题 audio vue
    vue使用H5的audio标签问题 audio vue
    目录使用H5的audio标签vue中自定义audio总结使用H5的audio标签template代码:audio ref="audio" :src="audioUrl"/audiodata里绑定audioUrl为audio的路径audioUrl: 'static/audio/notify.wav' // 声音源按钮播放声音:click () {    this.$refs.audio.play()
  • ios加载html5 audio标签用js无法自动播放
    html5 audio标签在ios 微信浏览器中是无法自动播放的,最近在做一个小的项目遇到这个问题,安卓和pc都是正常的,唯独ios不行,查阅了很多资料,找到了以下方法,也许不是最好用的方法,如果有更方便的方法,尽请留言:html部分:audio id="audio"source sr
    02-08
  • 移动端实现HTML5 mp3录音踩坑指南:系统播放音量变小、一些机型录音断断续续 之 MediaRecorder和AudioWorklet的终极对决
    移动端实现HTML5 mp3录音踩坑指南:系统播放音
    目录H5录音见坑填坑采用MediaRecorder采集音频音频格式:WebM和PCM从WebM封装容器中提取PCM数据录音的兼容性困扰已久的H5录音时系统播放音量变小的问题H5录音见坑填坑在2022-06-19那天,Recorder H5录音开源库(https://github.com/xiangyuecn/Recorder)群里
    02-08
  • Html5 audio标签样式的修改
    Html5 audio标签样式的修改
    这篇文章主要介绍了Html5标签audio的样式修改 ,对html5 audio标签样式相关知识感兴趣的朋友一起学习吧
  • 简单介绍HTML5中audio标签的使用
    简单介绍HTML5中audio标签的使用
    这篇文章主要介绍了HTML5中audio标签的使用,在各浏览器中添加音频播放控件,需要的朋友可以参考下
    11-07 AudioHTML5
  • 基于HTML5 audio元素播放声音jQuery小插件
    基于HTML5 audio元素播放声音jQuery小插件
    基于HTML5 audio元素播放声音jQuery小插件,需要的朋友可以参考下。
    11-06 HTML5Audio
  • html5声频audio和视频video等新特性详细说明
    html5声频audio和视频video等新特性详细说明
    html5作为下一代web标准,年前轩起了html5热潮;html5声频audio和视频video一直被网友们所关注,本人也是好奇于是搜集整理一些相关的东东,需要了解的朋友可以参考下
点击排行