当前位置: 首页 > 知识库问答 >
问题:

为网站构建自定义mp3播放器——不知道如何编写播放最后一首歌、播放下一首歌的功能

郎玮
2023-03-14

我正在我的网站ustreet上构建一个mp3播放器。com,它可以由我放在HTML中的自定义按钮控制。

下面是它的外观图片:

JScript有内置的音频对象控件用于播放和暂停,我已经解决了这些问题,如您所见:

                <div class = "mp3Player" style="display: inline-block; width:100%">

                    <audio id="music" src = "LetsDance.mp3" type = "audio/mp3"></audio>   

                    <a class = "last" style="margin-left: 1em; float: left; display: inline-block; vertical-align:158%; -moz-transform:rotate(180deg); -webkit-transform:rotate(180deg); -o-transform:rotate(180deg); -ms-transform:rotate(180deg); font-size: 100%" onclick="previous()" class="button">►►</a>                    
                    <a class = "play" style="display: inline-block; vertical-align:134%;" onclick="music.play()" class="button">►</a>
                    <a class = "pause" style="font-weight: bold; display: inline-block; vertical-align:134%;" onclick="music.pause()" class="button">ll</a>
                    <a class = "next" style="margin-right: 1em; float: right; display: inline-block; vertical-align:145%; font-size: 100%" onclick = "next()" class="button">►►</a>                       

                </div>

我还有一系列mp3文件源名称:

 mp3sources = ["a.mp3","b.mp3","c.mp3","d.mp3"];

我试图找出如何编写一个函数,将这些按钮调用的音频对象与此数组同步。首次加载站点时,播放按钮将提示mp3sources中的第一个字符串。单击“下一步”按钮将提示列表中要播放的下一首歌曲,单击最后一首歌曲将提示阵列中的前一首歌曲。请帮我写这个函数-我不太擅长JScript。我更擅长PHP。

共有1个答案

杜苏燕
2023-03-14

这是完全工作的代码(为了与旧浏览器兼容,你可以使用一些闪存回退):

HTML:

<div class="mp3Player">
    <audio id="music"></audio>
    <a id="last" class="last" class="button">◄◄</a>
    <a id="play" class="play" class="button">►</a>
    <a id="pause" class="pause" class="button">ll</a>
    <span id="info"></span>
    <a id="next" class="next" class="button">►►</a> 
</div>

JS:

function run() {
    var i = 0; // current song index
    var songList = [
        'a.mp3',
        'b.mp3',
        'c.mp3',
        'd.mp3'];

    var audiocontainer = document.getElementById('mp3Player');
    var ae = document.getElementById('music');
    ae.src = songList[0];
    var infoDiv = document.getElementById('info');
    var btnLast = document.getElementById('last');
    var btnPlay = document.getElementById('play');
    var btnPause = document.getElementById('pause');
    var btnNext = document.getElementById('next');

    //add event handlers
    ae.onplay = function () {
        infoDiv.innerHTML = 'Now playing #' + (i + 1) + ' ' + songList[i];
    };
    ae.onended = function () {
        next();
    };
    btnPlay.onclick = function () {
        //if (ae.paused)
        ae.play();
        //else ae.pause();
    };
    btnPause.onclick = function () {
        ae.pause();
    };
    btnLast.onclick = previous;
    btnNext.onclick = next;
    //ae.play(); //to start playing automatically when when page is loaded

    function previous() {
        i = (i > 0) ? i - 1 : songList.length - 1; // choose previous index
        ae.setAttribute("src", songList[i]);
        ae.play();
    }

    function next() {
        i = (i < songList.length - 1) ? i + 1 : 0; // choose next index
        ae.setAttribute("src", songList[i]);
        ae.play();
    }
}

http://jsfiddle.net/F35Fw/5/(仅使用基本css样式)
http://jsfiddle.net/F35Fw/5/show(下载到计算机的源页面)

 类似资料:
  • 我正在制作音频播放器(android)。问题是我什么时候启动我的应用程序

  • 我正在编写一个,其中我提供了功能,几乎满足了我的需求,但面临一些小问题。 我是如何实现我的音乐播放器的: 正在列出SD卡中可用的音频歌曲(路径类似:) 一旦用户点击任何音频,然后启动媒体播放器 在媒体播放器屏幕中,我为用户提供了返回音频列表的导航 用户返回,现在选择了一些其他歌曲来听(这里我面临的问题是,用户将可以播放新选择的歌曲,但也会播放旧歌曲,而一次只能播放上一次选择的歌曲,但在我的情况下,

  • 我正在学习如何为某些曲目创建媒体播放器的教程...每首歌都按我的要求播放然后停止...我想让整个播放列表播放...那是为了在前一个赛道结束后,下一个赛道自动开始... 多谢...

  • 我有一个创建和播放我播放列表的文字JS对象。在HTML页面中,我有一个包含我所有曲目的列表。当我点击某些曲目时,一切正常,但当我点击一个曲目,等待曲目结束时,下一个曲目就不播放了。这是我的代码的部分: 还有一件事,当第一首歌曲结束并调用下一首歌曲的播放时,曲目没有加载(onload事件没有消息返回)。谢谢,对不起我的英语不好。A. 好的,我试着在设置上添加“FlashVersion:9”,这就解决

  • 我正在为我的YouTube频道创建一个网站,因为我为YouTube等制作音乐。 我想知道如何才能为我的网站添加一个mp3播放器,而不是在每次重新加载页面时停止播放。 我想让mp3播放器不断播放,不管它上多少页。 有人能告诉我怎么做吗?谢谢:)

  • 我想播放一首特定的歌曲取决于发送的参数。 在我的项目中,我有不同的播放列表,所以我想发送参数(它是一个数字,对应一个播放列表),然后只听那个播放列表中的歌曲。有什么想法可以这样做吗?提前道谢!