zoukankan      html  css  js  c++  java
  • HTML5播放视频音频

    HTML5里引入的新标记 <audio> 和 <video> 实现了HTML对视频播放和音频播放的原生支持,有了这种原生的HTML5视频播放器/音频播放器,我们不再需要flash技术,而直接能将视频/音频嵌入到了网页中。

     

      如何嵌入视频和音频

      在网页里嵌入HTML5音频播放器和视频播放器的方法非常简单:

    <video src="http://www.webhek.com/~j/theora_testsuite/320x240.ogg" controls autoplay loop>
        Your browser does not support the <code>video</code> element.
    </video>

      上面这个例子显示了如何播放一个视频文件,并露出视频播放控制按钮。

       下面这个例子是在HTML网页里嵌入音频 audio 的方法:

    <audio controls autoplay loop src="/test/audio.ogg">
        <p>Your browser does not support the <code>audio</code> element.</p>
    </audio>

      这里的 src 属性里可以填入一个音频/视频的URL,也可以是一个本地的文件。

    <audio src="audio.ogg" controls autoplay loop>
        <p>Your browser does not support the <code>audio</code> element </p>
    </audio>

      下面是<audio> 和 <video> 两个标记上控制属性的含义:

    •   controls : 显示标准的 HTML5 视频/音频播放器控制条、控制按钮。
    •   autoplay : 让文件自动播放。
    •   loop : 让文件循环播放。
    <audio src="audio.mp3" preload="auto" controls></audio>

      这里的 preload 属性是用来缓存大体积文件的。它有三个可选值:

    •   "none" 不缓存
    •   "auto" 缓存
    •   "metadata" 只缓存文件元信息

      为了能够兼容各种浏览器对不同媒体类型的支持,我们可以用多个<source> 元素来提供多个不同的媒体类型。例如:

    <video controls>
        <source src="foo.ogg" type="video/ogg">
        <source src="foo.mp4" type="video/mp4">
        Your browser does not support the <code>video</code> element.
    </video>

      支持Ogg格式视频流的浏览器可以播放 Ogg 文件。如果不支持,可以播放 MPEG-4 文件。查看各种浏览器对各种媒体类型的支持情况,请查看这里

      我们还可以指定播放使用的解码器(codecs); 这样就可以更精确的让浏览器如何播放提供的视频:

    <video controls>
        <source src="foo.ogg" type="video/ogg; codecs=dirac, speex">
        Your browser does not support the <code>video</code> element.
    </video>

      上面,我们指定了这个视频需要使用 Dirac 和 Speex 解码器。如果浏览器支持 Ogg 格式,但没有指定的解码器,那么,视频将不会被加载。

      如果没有提供 type 属性,则浏览器会向服务器询问媒体类型,看看是否支持;如果不支持,浏览器将会去检查下一个 source 属性。

      用JavaScript控制视频/音频播放

      一旦视频文件正确的嵌入到了HTML网页里,我们就可以使用JavaScript里控制它的部分,获取它的播放信息。比如,用JavaScript启动视频播放:

    var v = document.getElementsByTagName("video")[0];
    v.play();

      用JavaScript可控制HTML5视频播放器实现播放、暂停、快进,快退、音量等。

    <audio id="demo" src="audio.mp3"></audio>
    <div>
        <button onclick="document.getElementById('demo').play()">播放</button>
        <button onclick="document.getElementById('demo').pause()">暂停</button>
        <button onclick="document.getElementById('demo').volume+=0.1">降低音量</button>
        <button onclick="document.getElementById('demo').volume-=0.1">提高音量</button>
    </div>

      停止下载视频文件

      虽然我们可以使用pause()方法里让视频文件停止播放,但浏览器并未停止下载媒体文件,除非它达到了一定的缓存量。

      下面是让浏览器如何停止下载视频文件的方法:

    var mediaElement = document.getElementById("myMediaElementID");
    mediaElement.pause();
    mediaElement.src='';
    //
    mediaElement.removeAttribute("src");

      通过删除 src 属性(或者设置为空值),这样就能停止文件的网络下载。

      设定播放的时间点定位

      我们可以指定视频从某时某分某秒开始播放,这是通过设置 currentTime属性来实现。

      我们可以通过 seekable 属性来获得视频有效的播放时间范围。它会返回一个 TimeRanges 对象,能够告诉你有效的开始时间和结束时间。

    var mediaElement = document.getElementById('mediaElementID');
    mediaElement.seekable.start(0);  // 返回开始时间 (秒)
    mediaElement.seekable.end(0);    // 返回结束时间 (秒)
    mediaElement.currentTime = 122; // 定位到第 122 秒播放
    mediaElement.played.end(0);      // 返回已经播放的时间长度(秒)

      设定播放范围

      当在网页里嵌入视频/音频文件时, <audio> 或 <video> 元素允许我们提供一些额外的信息来指定播放哪一时间段。实现的方法是在媒体文件后面跟随(“#”)格式的信息。

      它的具体语法是这样的:

    #t=[开始时间][,结束时间]

      时间的表示方法可以使用秒数,也可以提供一个 ”时:分:秒“ 格式的时间(例如 2:05:01 )。

      举例:

      http://www.webhek.com/video.ogg#t=10,20

      指定视频从10秒开始播放,到20秒处结束。

      http://www.webhek.com/video.ogg#t=,10.5

      指定视频从头开始播放到 10.5 秒处。

      http://www.webhek.com/video.ogg#t=,02:00:00

      指定视频播放2小时。

      http://www.webhek.com/video.ogg#t=60

      指定视频从第60秒开始播放,播放到结束。

       来源:http://www.webhek.com/using_html5_audio_and_video

  • 相关阅读:
    HTTP断点续传 规格严格
    Java Shutdown 规格严格
    linux 命令源码 规格严格
    JTable调整列宽 规格严格
    linux 多CPU 规格严格
    Hello can not find git path 规格严格
    Kill 规格严格
    拜拜牛人 规格严格
    Swing 规格严格
    Debugging hangs in JVM (on AIX but methodology applicable to other platforms) 规格严格
  • 原文地址:https://www.cnblogs.com/madoff/p/5132417.html
Copyright © 2011-2022 走看看