• html5学习笔记(html5新标签<audio>)


    HTML <audio> 标签

    <audio> 标签定义声音,比如音乐或其他音频流。
    IE 只支持mp3
    safair不支持ogg
    其他浏览器全部支持 mp3 wav ogg 3种格式

    首先简要的介绍下这3种格式
    1.mp3是一种有损格式,将音乐以1:10 甚至 1:12 的压缩率,所以音质不算极好,但是体积非常小。(目前mp3编码专利公司的专利到期了,意味着谁都可以用了不用给专利费)
    2.WAV为微软公司(Microsoft)开发的一种声音文件格式,WAV是最接近无损的音乐格式,所以文件大小相对也比较大。
    3.Ogg全称是OGGVobis(oggVorbis)是一种音频压缩格式,类似于MP3等的音乐格式。


    一、Audio controls 属性
    例子:
    (html)
    <audio id="myAudio">
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    (js)
    document.getElementById("myAudio").controls=true;
    结果:

    写上controls后就会出现音视频控件。
    控件包括:
    1)播放
    2)暂停
    3)进度条
    4)音量

    注意:
    <source>元素是为了<audio>元素指定多个媒体资源。这是一个空的元素。它通常用于提供不同浏览器支持的多种格式相同媒体内容。
    <source>属性src 填写媒体资源,同时可以通过其文件扩展名来识别媒体文件的格式。
    你可以多写几个<source>来做各种浏览器的兼容。

    可以使用document.getElementById("myAudio").controls = true;在js中控制是否显示控件
    true - 指定显示控件。
    false - 默认。指定不显示控件。

    二、Audio autoplay 属性
    例子:
    (html)
    <audio id="myAudio">
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    (js)
    document.getElementById("myAudio").autoplay=true;
    结果:

    可以使用document.getElementById("myAudio").autoplay=true;在js中控制是否自动播放。
    autoplay 属性设置或返回音视频是否在加载后即开始播放。
    true - 在音频加载完成后,自动开始播放。
    false - 默认。在音频加载完成后,不自动播放。

    三、Audio buffered 属性
    例子:
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="bufffunc()">点我</button>
    <div id="buff"></div>
    (js)
    function bufffunc(){
    var buff=document.getElementById("myAudio").buffered;
    document.getElementById("buff").innerHTML="start:"+buff.start(0) +"~~~"+ "end:" + buff.end(0);
    }
    结果:

    你可以通过该属性获取已缓冲的资源的时间段信息。该属性包含一个 TimeRanges 对象。
    TimeRanges 对象表示音频的缓冲区间。
    缓冲范围指的是已缓冲音视频的时间范围。如果用户在音视频中跳跃播放,会得到多个缓冲范围。

    TimeRanges 对象属性:
    length - 获得音视频中已缓冲范围的数量
    start(index) - 获得某个已缓冲范围的开始位置
    end(index) - 获得某个已缓冲范围的结束位置
    注意:首个缓冲范围的下标是 0,start和end方法获得的是缓冲的秒数。

    四、crossOrigin 属性
    (这个属性范围过大 以后要单开一章)

    五、Audio currentSrc 属性
    例子:
    (html)
    <audio id="myAudio" controls>
    <source src="e:/456.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="bufffunc()">点我</button>
    <div id="buff"></div>
    (js)
    function bufffunc(){
    var buff=document.getElementById("myAudio").currentSrc;
    document.getElementById("buff").innerHTML=buff;
    }
    结果:

    返回当前音频的URL(其实它只是返回了src里的路径,因为路径下没有456.mp3仍然能返回URL )

    六、Audio currentTime 属性
    例子:
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="bufffunc()">点我</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function getCurTime(){
    document.getElementById("buff").innerHTML=x.currentTime;
    }
    function setCurTime(){
    x.currentTime = 188;
    }
    </script>
    结果:

    注意:如果使用var x=document.getElementById("myAudio").currentTime;这种方式时间也会被设置,但是音频控制器却不能跳跃到设置的时间。

    currentTime 属性设置或返回音频播放的当前位置(以秒计)。当设置该属性时,播放会跳跃到指定的位置。

    七、Audio defaultMuted 属性
    例子:
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="setDefaultMuted()">设置默认静音</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function setDefaultMuted(){
    x.defaultMuted=true;
    x.load();//重新加载音频元素
    }
    </script>
    结果:

    注意:只有 Google Chrome 和 Safari 6浏览器 支持 defaultMuted 属性。
    defaultMuted 属性设置或返回音频是否默认静音。
    true - 指定音频默认为静音。
    false - 默认。指定音频默认为不静音。

    八、Audio defaultPlaybackRate 属性
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="getdefaultplaybackRate()">当前默认播放速率</button>
    <button onclick="setdefaultplaybackRate()">设置默认播放速率</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function getdefaultplaybackRate(){
    document.getElementById("buff").innerHTML=x.defaultPlaybackRate;
    }
    function setdefaultplaybackRate(){
    x.defaultPlaybackRate = 0.5;
    }

    </script>
    结果:

    指示音频/视频的默认播放速度。
    例值:
    1.0 正常速度
    0.5 半速(更慢)
    2.0 倍速(更快)
    -1.0 向后,正常速度
    -0.5 向后,半速
    注意: Internet Explorer 8 及更早IE版本不支持 defaultPlaybackRate 属性。

    九、Audio duration 属性
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="getDuration()">当前音频的长度</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function getDuration(){
    document.getElementById("buff").innerHTML=x.duration;
    }
    </script>
    结果:

    duration 属性返回当前音频的长度,以秒计。
    注意: Internet Explorer 8 及更早IE版本不支持该属性。

    十、Audio ended 属性
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="getEnded()">当前音频是否播放结束</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function getEnded(){
    document.getElementById("buff").innerHTML=x.ended;
    }
    </script>
    结果:

    如果音频播放结束,则返回 true。否则返回 false。
    注意: Internet Explorer 8 及更早IE版本不支持该属性。

    十一、Audio loop 属性
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="setLoop()">设置当前音频循环播放</button>
    <button onclick="getLoop()">当前音频是否循环播放</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function getLoop(){
    document.getElementById("buff").innerHTML=x.loop;
    }
    function setLoop(){
    document.getElementById("myAudio").loop=true;
    x.load();
    }
    </script>
    结果:

    指示音频在结束时是否再次播放。
    true - 指示音频在结束时再次播放。
    false - 默认。指示音频在结束时不再播放。

    十二、Audio muted 属性
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="setMuted()">设置当前音频为静音</button>
    <button onclick="getMuted()">当前音频是否为静音</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function getMuted(){
    document.getElementById("buff").innerHTML=x.muted;
    }
    function setMuted(){
    document.getElementById("myAudio").muted=true;
    }
    </script>
    结果:

    muted 属性设置或返回音频是否应该被静音(关闭声音)。
    该属性反映了 <audio> muted 属性。
    该属性指定了音频是静音的。

    注意: Internet Explorer 8 及更早IE版本不支持 <audio> 元素。

    指定输出音频是否静音:
    true - 指示应该关闭音频的声音。
    false - 默认。指示打开音频的声音。

    十三、Audio networkState 属性
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="getNetwork()">当前音频的网络状态</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function getNetwork(){
    document.getElementById("buff").innerHTML=x.networkState;
    }

    </script>
    结果:

    表示音频元素的当前网络状态:
    0 = NETWORK_EMPTY - 音频尚未初始化
    1 = NETWORK_IDLE - 音频是活动的且已选取资源,但并未使用网络
    2 = NETWORK_LOADING - 浏览器正在下载数据
    3 = NETWORK_NO_SOURCE - 未找到音频来源

    注意: Internet Explorer 8 或更早的浏览器不支持该属性。

    十四、Audio paused 属性
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="getPaused()">当前音频是否暂停</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function getPaused(){
    document.getElementById("buff").innerHTML=x.paused;
    }
    </script>
    结果:

    如果音频已暂停返回true,否则返回false。
    注意: 该属性是只读的。

    十五、Audio playbackRate 属性
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="setPlaybackRate()">设置当前音频播放速度</button>
    <button onclick="getPlaybackRate()">当前音频播放速度</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function getPlaybackRate(){
    document.getElementById("buff").innerHTML=x.playbackRate;
    }
    function setPlaybackRate(){
    x.playbackRate=0.5;
    }
    </script>
    结果:

    指示音频的当前播放速度。
    例值:
    1.0 正常速度
    0.5 半速(更慢)
    2.0 倍速(更快)
    -1.0 向后,正常速度
    -0.5 向后,半速

    注意:Internet Explorer 9及更早IE版本不支持 playbackRate 属性。

    十六、Audio preload 属性
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="setpreload()">设置当前音频预加载方式为none</button>
    <button onclick="getpreload()">显示当前音频的预加载</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function getpreload(){
    document.getElementById("buff").innerHTML=x.preload;
    }
    function setpreload(){
    x.preload="none";
    }
    </script>
    结果:

    preload="auto" 指示一旦页面加载,则开始加载音频。
    preload="metadata" 指示当页面加载后仅加载音频的元数据。
    preload="none" 指示页面加载后不应加载音频。
    注意: Internet Explorer 不支持 preload 属性。

    十七、Audio readyState 属性
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="getreadyState()">显示当前音频的就绪状态</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function getreadyState(){
    document.getElementById("buff").innerHTML=x.readyState;
    }
    </script>
    结果:

    表示音频元素的就绪状态:
    0 = HAVE_NOTHING - 没有关于音频是否就绪的信息
    1 = HAVE_METADATA - 关于音频就绪的元数据
    2 = HAVE_CURRENT_DATA - 关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒
    3 = HAVE_FUTURE_DATA - 当前及至少下一帧的数据是可用的
    4 = HAVE_ENOUGH_DATA - 可用数据足以开始播放
    注意: 该属性是只读属性。
    注意: Internet Explorer 8 及更早IE版本不支持该属性。

    十八、Audio volume 属性
    (html)
    <audio id="myAudio" controls>
    <source src="123.mp3">
    您的浏览器不支持 audio 元素。
    </audio>
    <button onclick="getvolume()">显示当前音频的音量</button>
    <div id="buff"></div>
    (js)
    <script>
    var x=document.getElementById("myAudio");
    function getvolume(){
    document.getElementById("buff").innerHTML=x.volume;
    }
    </script>
    结果:

    volume 属性设置或返回音频的音量,从 0.0 (静音) 到 1.0 (最大声)。
    规定音频的当前音量。必须是介于 0.0 与 1.0 之间的数字。
    例值:
    1.0 是最高音量(默认)
    0.5 是一半音量 (50%)
    0.0 是静音

    ps:
    注意要学习 Web Audio API (黑科技,装逼利器!!!)
    学习黑科技需要了解一下的科学知识 1.多普勒效应2.傅里叶变换(了解时域和频域)(别看,看了就会发现自己有多渺小!!!)

  • 相关阅读:
    客户端及服务端_终端模拟
    安装-homebrew
    客户端及服务端_网页访问
    python server搭建
    ping不通localhost但是可以ping通ip地址
    CentOS7 修改Jenkins以root用户运行
    tomcat配置外部静态资源映射路径(windows和Linux部署)
    Centos 6.10 安装 Jenkins
    axios ios 微信浏览器session问题
    微信公众号 分享接口 签名通过 分享无效果(JSSDK自定义分享接口的策略调整)
  • 原文地址:https://www.cnblogs.com/smileToMe/p/8013029.html
Copyright © 2020-2023  润新知