2016-04-20 13 views
2

再生と一時停止しかできないオーディオプレイリストを作成したいと思います。しかし、ユーザーが曲全体を聴いているときに、そのユーザーが曲を再生できるようにしたい。再生と一時停止だけでJavascriptのオーディオプレイリストを作成する

現在のところ、Javascriptプレイリストは音楽の再生と停止のみを行います。私の一時停止ボタンは、一時停止ボタンのように実際には機能しません。どこが間違っているのか分かりません。そして、ユーザーが曲を聴き終えたら、自動的に曲を最初に自動的に再設定することはできますか?私は非常にこの上の助けに感謝します!私はすでにHTMLオーディオコードを書いており、その下にJava Scriptがリストされています。

<script> // play/pause button 
$(function() { 
    $('#play').click(function(){ 
    $('#pause').attr('src',"media/pause.png"); 
    }); 
}); 

    $(".playBtn").on('click', function() { 
     var target = $(this).attr("target"); 
     $("#audio").attr("src",target); 

     $("#audio").trigger("play"); 
    }); 

    $(".pauseBtn").on('click', function() { 
     $("#audio").trigger("pause"); 
    }); 
    }); 
</script> 
+0

_「ユーザーは全体の歌を聴いて行われているとき、私はそのユーザーの再プレイできるようにしたいですその曲は "単一のオーディオソースの結果ループが期待されていますか? _ "一時停止ボタンは一時停止ボタンのようには機能していません" _ 'DOM'要素で' pause() 'を呼び出そうとしましたか? – guest271314

+0

はい、曲が終了したときにのみ自動再設定することができます。 – dancemc15

答えて

2

オーディオタグには、リスナーを追加できるイベントがいくつかあります。 https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events

オーディオの再生が終了すると「終了」イベントがトリガーされるため、オーディオが最後に達したときに曲を先頭にリセットするのに役立ちます。

$("#audio").on("ended", function() { 
    this.currentTime = 0; 
}); 
1

あなたは<audio>要素に連続ループ単一のオーディオソースでloop属性を使用することができます。代用キャッシュ<audio>DOM jQueryオブジェクトの呼び出しは、.play().pause()clickイベントで呼び出すことができます。

javascriptの

$(function() { 
    var audio = $("#audio")[0]; 

    $(".playBtn").on("click", function() { 
    audio.play() 
    }); 

    $(".pauseBtn").on("click", function() { 
    audio.pause() 
    }); 
}) 

HTML

<audio id="audio" src="/path/to/audio/source" loop autoplay controls></audio> 
<button class="playBtn">Play</button> 
<button class="pauseBtn">Pause</button> 

jsfiddle https://jsfiddle.net/kkf33dpr/

関連する問題