• 从零开始的HTML5之旅(二)


    什么是HTML5?


      HTML5是W3C和WHATWG合作的结果,它将成为HTML、XHTML和HTML DOM的新标准。HTML5尚在完善,但是大部分现代浏览器已经支持HTML5了。

    HTML5的一些规则


    • 新特性基于HTML、CSS、DOM和JavaScript
    • 更优秀的错误处理
    • 更多取代脚本的标记
    • HTML5独立于设备
    • 开发进程对公众透明
    • 减少对外部插件的需求



    HTML5视频


      HTML5规定了一种Video元素,以此显示视频。

    视频格式

      Video目前仅支持三种视频格式:

    格式 IE Firefox Opera Chrome Safari
    Ogg 3.5+ 10.5+ 5.0+
    MPEG4 9.0+ 5.0+ 3.0+
    WebM 4.0+ 10.6+ 6.0+

    <video src="xxx.格式" controls="controls">此处写的内容供不支持video元素的浏览器显示</video>
    

      其中"controls"属性供添加播放、暂停和音量空间。

      你还可以在代码中添加宽度和高度属性。

      "src"属性中填写的是文件的地址。

      Video元素允许多个source元素。source元素可以链接不同的视频文件。浏览器只会识别第一个可识别的格式。如果你的第一个source元素浏览器无法识别,那么浏览器将会继续识别第二个source元素,直到可识别。

    <video width="200" height="200" controls="controls">
    <source src="xx.ogg" type="video/ogg">
    <source src="xx.MPEG4" type="video/MPEG4">
    <source src="xx.WebM" type="video/WebM">
    </video>
    



    < video>标签的属性


    属性 描述
    autoplay autoplay 如果出现该属性,则视频在就绪后马上播放。
    controls controls 如果出现该属性,则向用户显示控件,比如播放按钮。
    height pixels 设置视频播放器的高度。
    loop loop 如果出现该属性,则当媒介文件完成播放后再次开始播放。
    preload preload 如果出现该属性,则视频在页面加载时进行加载,并预备播放。
    如果使用"autoplay",则忽略该属性
    src url 要播放的视频URL。
    width pixels 设置视频播放器的宽度。

    用DOM控制video标签


      video标签同样拥有方法、属性和事件。

    方法 描述
    addTextTrack() 向音频/视频添加新的文本轨道
    canplayType() 检测浏览器是否能播放指定的音频/视频类型
    load() 重新加载音频/视频元素
    play() 开始播放音频/视频
    pause() 暂停当前播放的音频/视频

    属性 描述
    audioTracks 返回表示可用音轨的 AudioTrackList 对象
    autoplay 设置或返回音频/视频中的当前播放位置(以秒计)
    buffered 返回表示音频/视频已缓冲部分的 TimeRanges 对象
    controller 返回表示音频/视频当前媒体控制器的 MediaController 对象
    controls 设置或返回音频/视频是否显示控件(比如播放/暂停等)
    crossOrigin 设置或返回音频/视频的 CORS 设置
    currentSrc 返回当前音频/视频的 URL
    currentTime 设置或返回音频/视频中的当前播放位置(以秒计)
    defaultMuted 设置或返回音频/视频默认是否静音
    defaultPlaybackRate 设置或返回音频/视频的默认播放速度
    duration 返回当前音频/视频的长度(以秒计)
    ended 返回音频/视频的播放是否已结束
    error 返回表示音频/视频错误状态的 MediaError 对象
    loop 设置或返回音频/视频是否应在结束时重新播放
    mediaGroup 设置或返回音频/视频所属的组合(用于连接多个音频/视频元素)
    muted 设置或返回音频/视频是否静音
    networkState 返回音频/视频的当前网络状态
    paused 设置或返回音频/视频是否暂停
    playbackRate 设置或返回音频/视频播放的速度
    played 返回表示音频/视频已播放部分的 TimeRanges 对象
    preload 设置或返回音频/视频是否应该在页面加载后进行加载
    readyState 返回音频/视频当前的就绪状态
    seekable 返回表示音频/视频可寻址部分的 TimeRanges 对象
    seeking 返回用户是否正在音频/视频中进行查找
    src 设置或返回音频/视频元素的当前来源
    startDate 返回表示当前时间偏移的 Date 对象
    textTracks 返回表示可用文本轨道的 TextTrackList 对象
    videoTracks 返回表示可用视频轨道的 VideoTrackList 对象
    volume 设置或返回音频/视频的音量

    事件 描述
    abort 当音频/视频的加载已放弃时
    canplay 当浏览器可以播放音频/视频时
    canplaythrough 当浏览器可在不因缓冲而停顿的情况下进行播放时
    durationchange 当音频/视频的时长已更改时
    emptied 当目前的播放列表为空时
    ended 当目前的播放列表已结束时
    error 当在音频/视频加载期间发生错误时
    loadeddata 当浏览器已加载音频/视频的当前帧时
    loadedmetadata 当浏览器已加载音频/视频的元数据时
    loadstart 当浏览器开始查找音频/视频时
    pause 当音频/视频已暂停时
    play 当音频/视频已开始或不再暂停时
    playing 当音频/视频在已因缓冲而暂停或停止后已就绪时
    progress 当浏览器正在下载音频/视频时
    ratechange 当音频/视频的播放速度已更改时
    seeked 当用户已移动/跳跃到音频/视频中的新位置时
    seeking 当用户开始移动/跳跃到音频/视频中的新位置时
    stalled 当浏览器尝试获取媒体数据,但数据不可用时
    suspend 当浏览器刻意不获取媒体数据时
    timeupdate 当目前的播放位置已更改时
    volumechange 当音量已更改时
    waiting 当视频由于需要缓冲下一帧而停止

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <div>
            <div>
                <button onclick="Play()">开始</button>
                <button onclick="Pause()">暂停</button>
                <button onclick="Big()">大</button>
                <button onclick="Normal()">中</button>
                <button onclick="Small()">小</button>
            </div>
            <br>
            <video id="video1" height="200" width="200">
                <source src="https://www.w3school.com.cn/example/html5/mov_bbb.mp4" type="video/mp4">
                <source src="https://www.w3school.com.cn/example/html5/mov_bbb.ogg" type="video/ogg">
                无法显示
            </video>
        </div>
    </body>
    </html>
    <script type="text/javascript">
        var id = document.getElementById("video1");
    
        function Play() {
            if (!id.Play) {
                id.play();
            }
        }
    
        function Pause() {
            if (!id.Pause) {
                id.pause();
            }
        }
    
        function Big() {
            id.width = 400;
        }
    
        function Small() {
            id.width = 200;
        }
    
        function Normal() {
            id.width = 300;
        }
    
    </script>
    
  • 相关阅读:
    视频上云解决方案EasyCVR支持接入海康SDK吗?
    视频上云网关EasyCVR程序数据库内数据会丢失吗?
    视频上云解决方案EasyCVR打包软件在linux下解压后台无法运行问题排查
    视频上云解决方案EasyCVR发布linux版本
    视频流媒体平台EasyNVR使用Vue.js开发报[Vue warn]错误问题解决方案
    监控现场无固定IP及公有云服务器如何通过手机查看视频直播?
    幼儿园EasyNVR能力层安防监控平台调用视频直播流报404错误解决方案
    海康NVR的RTSP视频流能否在EasyNVR流媒体平台中正常播放?
    视频云端流媒体平台EasyNVR存储的录像为什么呈现每小时一段录像?
    如何查看EasyNTS智能云组网硬件终端内的资源使用情况?
  • 原文地址:https://www.cnblogs.com/ODevil/p/12488764.html
Copyright © 2020-2023  润新知