zoukankan      html  css  js  c++  java
  • HTML5——多媒体(Audio音频、Video视频)

     一、基础用法

    1.1 如何引入

        <audio src="../摩登兄弟 - 探清水河 (Live).mp3" controls></audio>
        <video src="../摩登兄弟 - 探清水河 (Live).mkv" controls></video>   视频需要在css设置视口宽高

    是通过src的方式引入的,必须在后面加上controls才能显示出来。音频和视频都是一样的

    ( 如果没有测试文件,可以去酷狗下载。)

     

    二、属性

     2.1 autoplay 自动播放

    <audio src="../摩登兄弟 - 探清水河 (Live).mp3" controls autoplay></audio>

    设置这个属性后一进入页面就会自动播放,只有谷歌浏览器不会。

    2.2 preload(none/metadata/auto)预加载,规定是否在页面加载后载入音频

    none 不需要加载数据

        <audio src="../摩登兄弟 - 探清水河 (Live).mp3" controls autoplay preload="none"></audio>

    metadata元数据 诸如时长、比特率、帧大小这样的原数据,而不是媒体内容需要加载的

        <audio src="../摩登兄弟 - 探清水河 (Live).mp3" controls autoplay preload="metadata"></audio>

    auto 浏览器应当加载它认为适量的媒体内容

        <audio src="../摩登兄弟 - 探清水河 (Live).mp3" controls autoplay preload="auto"></audio>

    2.3 loop 是否循环播放音/视频

    不加表示不循环,播放结束就暂停

    <audio src="../摩登兄弟 - 探清水河 (Live).mp3" controls autoplay  preload="auto"></audio>

    再加上看看,播放结束后会马上跳至从头开始播放

    <audio src="../摩登兄弟 - 探清水河 (Live).mp3" controls autoplay loop preload="auto"></audio>

    2.4 poster(video独有)当视频不可用时,播放不了。使用一张图片替代,否则是空白的

    <video src="../错误路径——测试 (Live).mkv" poster="../ing/IMG_2117-2-2.jpg" controls></video>

    2.5 多类型资源   为了兼容多种浏览器

        <audio id="music">
            <source src="../摩登兄弟 - 探清水河 (Live).mp3" controls>
            <source src="其他格式的音频文件" content >
        </audio>

    2.5 脚本化

    在JS中获取标签  音/视频

    注意:如果使用new,只有audieo,没有video

    创建音频

            var audio = document.createElement('audio');
            audio.setAttribute('controls', 'controls');
            audio.setAttribute('loop', 'loop');
            audio.src = "../摩登兄弟 - 探清水河 (Live).mp3";
            document.body.appendChild(audio);

    创建视频

            var video = document.createElement('video');
            video.setAttribute('controls', 'controls');
            video.src = "../摩登兄弟 - 探清水河 (Live).mkv";
            document.body.appendChild(video);

    2.6方法

    2.6.1 play()    调用即播放

    2.6.2 pause()   调用即暂停

    2.6.3 load()   调用即从新加载,用于检查后端是否有更新数据

     

    2.7  音量 volume属性

    表示播放的音量,介于0(静音)~1(最大音量)之间,默认1。将meted属性设置为true则会进入静音模式,设置为false则会恢复之前的指定音量继续播放。

    超出范围会报错【0,1】

     

    小demo

            <button id="volum_add">+</button>
            <button id="volum_sub">-</button>
        <script>
            var video = document.createElement('video');
            var volum_add = document.getElementById('volum_add');
            var volum_sub = document.getElementById('volum_sub');
            video.setAttribute('controls', 'controls');
            video.src = "../摩登兄弟 - 探清水河 (Live).mkv";
            document.body.appendChild(video);
    
            volum_add.onclick = function(){   //点击增加
                if(video.volume <= 0.7){      //当音量小于0.7时增加
                    video.volume += 0.3;
                    console.log(video.volume);
                } 
            }
            volum_sub.onclick = function(){   //点击减少
                if(video.volume >= 0.3){      //当音量大于0.3时减小
                    video.volume -= 0.3;
                    console.log(video.volume);
                }
            }
        </script>

      2.8  播放速率playbackRate

    用于指定媒体播放的速度。该属性值为0.1表示正常速度,大于1则表示“快进”,0~1之间表示“慢放”,负值表示回放。

    每个浏览器实现的会有差别的,具体看浏览器实现。

            <button id="volum_add">+</button>
            <button id="volum_sub">-</button>
            <buttom id="playbackRate_add">&lt;</buttom>
            <buttom id="playbackRate_sub">&gt;</buttom>
        <script>
            var video = document.createElement('video');
            var volum_add = document.getElementById('volum_add');
            var volum_sub = document.getElementById('volum_sub');
            var playbackRate_add = document.getElementById('playbackRate_add');
            var playbackRate_sub = document.getElementById('playbackRate_sub');
            video.setAttribute('controls', 'controls');
            video.src = "../摩登兄弟 - 探清水河 (Live).mkv";
            document.body.appendChild(video);
    
            volum_add.onclick = function(){   //点击增加
                if(video.volume <= 0.7){      //当音量小于0.7时增加
                    video.volume += 0.3;
                    console.log(video.volume);
                } 
            }
            volum_sub.onclick = function(){   //点击减少
                if(video.volume >= 0.3){      //当音量大于0.3时减小
                    video.volume -= 0.3;
                    console.log(video.volume);
                }
            }
            playbackRate_sub.onclick = function(){
                if(video.playbackRate < 2){
                    video.playbackRate += 0.3;
                }else{
                    video.playbackRate = 2;
                }
                if(video.playbackRate < 1.1 && video.playbackRate > 1){
                    video.playbackRate = 1;
                }
                console.log(video.playbackRate);
            }
            playbackRate_add.onclick = function(){
                if(video.playbackRate > 0.6){
                    video.playbackRate -= 0.3;
                }else{
                    video.playbackRate = 0.4;
                }
                if(video.playbackRate < 1.1 && video.playbackRate > 1){
                    video.playbackRate = 1;
                }
                console.log(video.playbackRate);
            }
        </script>

    2.9 currentTime / duration属性

    currentTime 设置或返回音频/视频播放的当前位置

    dutation 返回当前音频 / 视频的时长(window.onload)单位 秒

    3.0 canPlayType()   兼容浏览器

    三、事 件

     

     

  • 相关阅读:
    刷题的 vscodeleetcode
    一个简单的小程序演示Unity的三种依赖注入方式
    WCF服务端运行时架构体系详解[上篇]
    通过WCF扩展实现消息压缩
    通过“四大行为”对WCF的扩展[原理篇]
    [WCF权限控制]利用WCF自定义授权模式提供当前Principal[原理篇]
    [WCF权限控制]ASP.NET Roles授权[下篇]
    [WCF权限控制]通过扩展自行实现服务授权[提供源码下载]
    通过自定义ServiceHost实现对WCF的扩展[实例篇]
    [WCF权限控制]WCF自定义授权体系详解[实例篇]
  • 原文地址:https://www.cnblogs.com/yangpeixian/p/11365675.html
Copyright © 2011-2022 走看看