• HTML5音乐、视频等新媒体播放标签video、audio、embed与object介绍以及使用方式


    音频播放器

    音频的播放用"audio"标签实现对音频的控制

    1 <audio src="http://www.ytmp3.cn/down/44456.mp3" controls="controls" align="center">
    2 </audio>
    3 <h5>半城烟沙</h5>
    4 <audio src="2.mp3" controls="controls">
    5 </audio>
    6 </audio>
    7 <h5>樱花草</h5>
    8 <audio src="yinyue/1.mp3" controls="controls" loop="loop">
    9 </audio>

    它有src,controls,loop,perload,autoplay等属性。

    • src是audio的必须的一个属性,写音乐的地址
    • controls 是audio的一个重要属性,它有暂停,进度条等功能,其中谷歌浏览器的controls支持下载,不支持音量的调度,而火狐浏览器支持音量调节不支持下载
    • loop属性是是否设置循环,有了loop属性,这个音频将循环播放
    • autoplay属性只媒体加载完成后自动播放
    • perload指的是预加载,none,metadata,auto分别是属性的三个选项,none不进行预加载,metadata只加载元字节,auto则全部加载

    视频播放器

    视频的播放用"video"标签对视频进行控制与audio相同的是,audio的属性video都有

    1 <video width="500"higth="400" src="http://edge.ivideo.sina.com.cn/212550342.mp4?KID=sina,viask&Expires=1555776000&ssig=bkhlo665%2Bx"controls="controls"poster="images/1.jpg"></video>

    错误信息的erro属性:
    在视频或音频发生播放错误时,会发送一个Mediaerror对象,该对象对应的code属性返回对应的属性错误码,其可能值为:

    MeDIA_ERR_ABORTED(数值1)下载过程中用户操作原因终止
    MEDIA_ERR_NETWORE(数值2)媒体资源可用,下载过程中网络错误
    MWDIA_ERR_DECODE(数值3 媒体资源可用,但是解码时错误
    MWDIA_ERR_SRC_NOT_SUPPORTED(数值4)媒体资源不可用,或者不支持格式
    读取错误状态的代码如下:

     1 <srcipt>
     2     var video=document.getElemenetById("video Element");
     3     video.addEventListener("error",function ()
     4         {
     5           var error=video.eror;
     6           switch(error.code)
     7           {
     8               case 1:
     9                   alert("视频的下载被操作终止");
    10                   break;
    11               case 2:
    12                   alert("网络故障,视频下载终止");
    13                   break;
    14               case 3:
    15               {
    16                   alert("解码错误");
    17                   break;
    18               }
    19               case 4:
    20               {
    21                   alert("不支持此类格式,视频出错");
    22                   break;
    23               }
    24               default:
    25               {
    26                   alert("发生未知错误");
    27               }
    28           }
    29         },false);
    30     </script>

    network State属性
    用于检测加载过程中的网络状态,不常用,并不详细介绍

    它有四个返回值:

    • 0表示初始状态
    • 1表示未建立网络连接
    • 2表示媒体数据加载中
    • 3表示没有合适的编码,不加载

    embed

    embed和object都是网页用的嵌入脚本,用来播放flash文件的

    如果使用的是flash文件或者其他video标签不支持的格式。那么可以使用embed标签插入。

    embed标签只支持PC端,移动端无效,video标签移动和PC端均支持,如果你的视频文件是mp4格式的,那么推荐使用video标签,兼容PC端和移动端。

    我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标签。也就是OBJECT和EMBED标签

     embed标签是html5版本新增的标签,是使用来定义嵌入的内容(如插件、媒体等)

    如果浏览器没安装没启用flash,那么浏览器会跳出一个提示框访问是否要自动安装flash player。

    object和embed的区别:
    是为了兼容不同浏览器,IE只支持对Object的解析;火狐,谷歌,Safari只支持对Embed的解析。注意:使用<object>+<embed>是为了更好的兼容性,如果场景允许,推荐使用<object>

    语法

    1 <embed src="/i/helloworld.swf" type="application/x-shockwave-flash" />

    embed标签属性值:

    标签属性设置 说明             
    src 被嵌入内容的地址
    type 嵌入内容的文件类型MIME类型
    autostart 自动播放(boolean)
    loop 循环播放(boolean)
    hidden 控制面板是否显示(true,no)
    starttime=mm:ss(分:秒) 开始播放的时间
    volume 音量大小(0~100)
    height、width 容器属性
    units 该属性指定高和宽的单位为pixels或en
    controls=console 一般正常面板(多属性值)
    name 该属性给对象取名,以便其他对象利用
    title= 说明文字
    palette=color|color 表示嵌入的音频或视频文件的前景色和背景色,第一个值为前景色,第二个值为背景色,中间用 | 隔开。color可以是RGB色(RRGGBB)也可以是颜色名
    align 规定控制面板和当前行中的对象的对齐方式


    embed支持很多媒体类型比如图像、音频、视频、可以参考文件类型IANA MIME 类型)列表,说明:embed标签是一个空标签,没有元素内容。在html中可以不关闭标签,而在xhtml中必须使用“/”关闭标签,如:<embed />

    MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。

    常用的MIME类型:

    文件后缀 Mime类型 说明
    .flv flv/flv-flash  在线播放
    .html或.htm  text/html  超文本标记语言文本
    .rtf  application/rtf RTF文本
    .gif  image/gif GIF图形
    .jpeg或.jpg  image/jpeg JPEG图形
    .au audio/basic  au声音文件
    .mid或.midi audio/midi或audio/x-midi MIDI音乐文件
    .ra或.ram或.rm  audio/x-pn-realaudio RealAudio音乐文件
    .mpg或.mpeg或.mp3  video/mpeg MPEG文件
    .avi  video/x-msvideo AVI文件
    .gz application/x-gzip GZIP文件
    .tar application/x-tar  TAR文件
    .exe  application/octet-stream 下载文件类型
    .rmvb  video/vnd.rn-realvideo  在线播放
    .txt  text/plain 普通文本
    .mrp  application/octet-stream  MRP文件(国内普遍的手机)
    .ipa application/iphone-package-archive IPA文件(IPHONE)
    .deb  application/x-debian-package-archive DED文件(IPHONE)
    .apk application/vnd.android.package-archive  APK文件(安卓系统)
    .cab application/vnd.cab-com-archive  CAB文件(Windows Mobile)
    .xap application/x-silverlight-app  XAP文件(Windows Phone 7)
    .sis application/vnd.symbian.install-archive SIS文件(symbian平台)
    .jar  application/java-archive JAR文件(JAVA平台手机通用格式)
    .jad text/vnd.sun.j2me.app-descriptor JAD文件(JAVA平台手机通用格式)
    .sisx  application/vnd.symbian.epoc/x-sisx-app  SISX文件(symbian平台)

    Object

    object参数说明
    param name标签是在这个播放插件中嵌入的一些功能和播放参数,比如(你可以抄下来): 
    <param name="playcount" value="1"><!--控制重复次数: “x”为几重复播放几次; x=0,无限循环。--> 
    <param name="autostart" value="0"><!--控制播放方式: x=1,打开网页自动播放; x=0,按播放键播放。--> 
    <param name="clicktoplay" value="1"><!--控制播放开关: x=1,可鼠标点击控制播放或暂停状态; x=0,禁用此功能。--> 
    <param name="displaysize" value="0"><!--控制播放画面: x=0,原始大小; x=1,一半大小; x=2,2倍大小。--> 
    <param name="enablefullscreen controls" value="1"><!--控制切换全屏: x=1,允许切换为全屏; x=0,禁用此功能。--> 
    <param name="showaudio controls" value="1"><!--控制音量: x=1,允许调节音量; x=0,禁止音量调节。--> 
    <param name="enablecontext menu" value="1"><!--控制快捷菜单: x=1,允许使用右键菜单; x=0,禁用右键菜单。--> 
    <param name="showdisplay" value="1"><!--控制版权信息: x=1,显示电影及作者信息;x=0,不显示相关信息--> 
    <param NAME="AutoStart" VALUE="-1"><!--是否自动播放--> 
    <param NAME="Balance" VALUE="0"><!--调整左右声道平衡,同上面旧播放器代码--> 
    <param name="enabled" value="-1"><!--播放器是否可人为控制--> 
    <param NAME="EnableContextMenu" VALUE="-1"><!--是否启用上下文菜单--> 
    <param NAME="url" VALUE="http://1.wma"> <!--播放的文件地址--><param NAME="PlayCount" VALUE="1"><!--播放次数控制,为整数--> 
    <param name="rate" value="1"><!--播放速率控制,1为正常,允许小数,1.0-2.0--> 
    <param name="currentPosition" value="0"><!--控件设置:当前位置--> 
    <param name="currentMarker" value="0"><!--控件设置:当前标记--> 
    <param name="defaultFrame" value=""><!--显示默认框架--> 
    <param name="invokeURLs" value="0"><!--脚本命令设置:是否调用URL--> 
    <param name="baseURL" value=""><!--脚本命令设置:被调用的URL--> 
    <param name="stretchToFit" value="0"><!--是否按比例伸展--> 
    <param name="volume" value="50"><!--默认声音大小0%-100%,50则为50%--> 
    <param name="mute" value="0"><!--是否静音-- 
    <param name="uiMode" value="mini"><!--播放器显示模式:Full显示全部;mini最简化;None不显示播放控制,只显示视频窗口;invisible全部不显示--><param name="windowlessVideo" value="0"><!--如果是0可以允许全屏,否则只能在窗口中查看--> 
    <param name="fullScreen" value="0"><!--开始播放是否自动全屏--> 
    <param name="enableErrorDialogs" value="-1"><!--是否启用错误提示报告--> 
    <param name="SAMIStyle" value><!--SAMI样式--> 
    <param name="SAMIFilename" value><!--字幕ID--> 

    使用 object 和 embed 标签来嵌入,细心的会发现,object 的很多参数和 embed 里面的很多属性是重复的,为什么这样做?为了浏览器兼容性,有的浏览器支持 object,有的支持 embed,这也是为什么要修改 Flash 的参数时两个地方都要改的原因。这种方法是 Macromedia 一直以来的官方方法,最大限度的保证了 Flash 的功能,没有兼容性问题。
    现阶段用 JS 嵌入 Flash 是最完美的方法.

    对于不支持object的浏览器,可以使用如下方式,浏览器将跳过object,识别embed元素:

    <object width="400" height="40" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">
     <param name="SRC" value="bookmark.swf">
     <embed src="bookmark.swf" width="400" height="40"></embed>
    </object>

    播放音频可使用object、embed,此外html5也有audio标签与video相对应,且用法相同。

  • 相关阅读:
    DevExpress9.3 汉化(winform)
    关于XtraGrid的CustomUnboundColumnData事件的触发条件 (收藏)
    解决DBConCurrencyException并发冲突异常(收藏)
    Devexpress控件使用总结版本9.3
    DBConcurrencyException 极端解决方案 (收藏)
    S8500 与电脑端无法正常连接
    Devexpress 10.1.6 源代码重新编译成功(DXperience 10.1.6 重新编译)附所有需要用到的资源下载地址 (收藏)
    BugTracker
    DevExpress控件学习XtraGrid控件
    LINQ:创建IQueryable Provider<1>
  • 原文地址:https://www.cnblogs.com/XuYiHe/p/12174396.html
Copyright © 2020-2023  润新知