在JavaScript脚本中获取<audio.../>元素对应的对象为HTMLAudioElement对象,<video.../>元素对应的对象为HTMLVideoElement对象。

  HTMLAudioElement对象和HTMLVideoElement对象支持的方法有如下几个:

  • play():播放视频、音频
  • pause():暂停播放
  • load():重新装载音频、视频文件
  • canPlayType(type):判断该元素是否可以播放type类型的音频、视频。该属性指定该音频、视频文件的类型,该属性值既可以是简单的MIME类型,例如audio/ogg、audio/mpeg等,也可以是MIME字符串并带codecs属性,codecs属性用于指定该视频文件的编码格式。该方法可以返回如下3个值
    • probably:该浏览器支持播放此种类型的音频、视频
    • maybe:该浏览器可能支持播放此种类型的音频、视频
    • 空字符串:该浏览器不支持播放此种类型的音频、视频

 

  下面页面代码实现了一个简单的音乐播放器,支持两种播放模式:随机播放和顺序播放。

<!DOCTYPE html>
<html>
<head>
    <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title> 音乐播放器 </title>
    <script type="text/javascript">
        // 定义能播放的所有音乐
        var musics = [
            "demo1.ogg",
            "bomb.ogg",
            "arrow.ogg",
            "love.ogg",
            "song.ogg",
        ];
        // 定义正在播放的音频文件的索引
        var index = 0;
        // 记录顺序播放、随机播放的变量
        var playType;
        var player;
        window.onload = function()
        {
            var typeSel = document.getElementById("typeSel");
            // 当用户更改下拉菜单的选项时,改变播放方式
            typeSel.onchange = function()
            {
                window.playType = typeSel.value;
            }
            player = document.getElementById("player");
            // 页面加载时播放第一个音频文件
            player.src = musics[index];
            player.onended = function()
            {
                if(playType == "random")
                {
                    // 计算一个随机数
                    index = Math.floor(Math.random() * musics.length);
                    // 随机播放一个音频文件
                    player.src = musics[index];
                }
                else
                {
                    // 播放下一个音频文件
                    player.src = musics[++index % musics.length];
                }
                // 播放
                player.play();
            }
        }
    </script>
</head>
<body>
<h2> 音乐播放器 </h2>
<select id="typeSel" style="width:160px">
    <option value="sequence">顺序播放</option>
    <option value="random">随机播放</option>
</select><br/>
<audio id="player" controls>
您的浏览器不支持audio元素
</audio>
</body>
</html>

 

页面效果如下: