0
<html>
    <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
                $("#play-bt").click(function(){
                    $(".audio-player")[0].play();
                    $(".message").text("Music started");
                })

                $("#pause-bt").click(function(){
                    $("#audio-player")[0].pause();
                    $(".message").text("Music paused");
                })

                $("#stop-bt").click(function(){
                    $(".audio-player")[0].pause();
                    $(".audio-player")[0].currentTime = 0;
                    $(".message").text("Music Stopped");
                })
            })
        </script>
    </head>
    <body>

        <audio class ="audio-player" name="" src="01-Breakin-A-Sweat-Zedd-Remix.mp3" ></audio>
        <audio class ="audio-player" name="" src="04-zedd-stars_come_out_(terravita_remix)" ></audio>

                <div class ="message"></div>
            <a id = "play-bt" href="#">Play music</a> | <a id ="pause-bt" href="#">Pause music</a> | <a id ="stop-bt" href="#">Stop music</a> 

    </body>
</html>

このコードは最初のオーディオタグのみを再生しますが、次の曲/トラック/オーディオタグを再生するにはどうすればよいですか?

4

1 に答える 1

3

ロードされたすべてのオーディオ要素は配列内にあり、メソッドを使用してアクセスできます。次のトラック機能を追加すると、次のようにすべての要素を参照できます。

$(document).ready(function(){

    var x = $(".audio-player").length; // Count total audio players
    var z = 0; // Start at first audio player

    $("#play-bt").click(function(){
        $(".audio-player")[z].play();
        $(".message").text("Music started");
    })
    $("#pause-bt").click(function(){
        $("#audio-player")[z].pause();
        $(".message").text("Music paused");
    })
    $("#stop-bt").click(function(){
        $(".audio-player")[z].pause();
        $(".audio-player")[z].currentTime = 0;
        $(".message").text("Music Stopped");
    })
    $("#next-bt").click(function(){
        $(".audio-player")[z].pause();
        z++;
        if (z >= x) z = 0;
        $(".audio-player")[z].play();
        $(".message").text("Track: "+z);
    })
})​

jquery .length でオーディオ要素の量を見つけ、最後のトラックに到達すると最初のトラックから開始します。ここに例があります - > http://jsfiddle.net/8GycB/46/

于 2012-07-26T15:19:35.277 に答える