我正在構建需要下一個和上一個按鈕的音樂播放器。我的播放列表作爲JSON對象從我的數據庫中返回。我遇到的問題是獲取下一個和上一個按鈕的工作。我創建了一個jsFiddle with the code。有人知道如何使下一個和上一個按鈕有效嗎?使用javascript和jquery將下一個和上一個按鈕添加到來自JSON的HTML5音頻播放器
UPDATE:
這個問題涉及更多關於如何獲得JSON數組中的下一個前值。我真的只需要在JSON數組中顯示下一首和上一首歌曲的名稱。
標記:
<a id="prev-bt" href="#">
<div class="player-musicnav-rw-column1">
<ul class="musicnav-rw">
<li class="rw"></li>
</ul>
</div></a>
<audio id="audio-player" name="audio-player" src="" ></audio>
<a id="next-bt" href="#">
<div class="player-musicnav-ff-column3">
<ul class="musicnav-ff">
<li class="ff">NEXT</li>
</ul>
</div>
</a>
<a id="prev-bt" href="#">
<div class="player-musicnav-ff-column3">
<ul class="musicnav-ff">
<li class="ff">PREV</li>
</ul>
</div>
</a>
<br/>
<br/>
<div id="player-digital-title">
</div>
<br/>
<br/>
<a href="#" id='player-handwriting-title'></a>
代碼:
var whichsong = 0;
$(document).ready(function() {
$("#play-bt").click(function() {
$("#audio-player")[0].play();
})
$("#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;
})
$('#player-handwriting-title').click(function() {
$('#player-digital-title').html($(this).html());
});
$("#next-bt").click(function() {
$("#audio-player")[0].pause();
$("#audio-player")[0].src = '';
whichsong++;
if (whichsong == treeObj.root.length) {
whichsong = 0;
}
$("#audio-player")[0].src = treeObj.root[whichsong];
if (playing) {
$("#audio-player")[0].play();
}
})
$("#prev-bt").click(function() {
$("#audio-player")[0].pause();
$("#audio-player")[0].src = '';
whichsong++;
if (whichsong == treeObj.root.length) {
whichsong = 0;
}
$("#audio-player")[0].src = treeObj.root[whichsong];
if (playing) {
$("#audio-player")[0].play();
}
})
});
$(document).ready(function() {
var treeObj = {
"root": [{
"id": "1",
"trackName": "Whippin Post"},
{
"id": "2",
"trackName": "Sweet Caroline"},
{
"id": "3",
"trackName": "Tears in Heaven"},
{
"id": "4",
"trackName": "Ain't She Sweet"},
{
"id": "5",
"trackName": "Octopus' Garden"},
{
"id": "6",
"trackName": "Teen Spirit"},
{
"id": "7",
"trackName": "Knockin on Heaven's Door"}]
};
var $ul = $("<ul></ul > ");
$.each(treeObj.root, function(i, v) {
$ul.append(
$(" <li> < /li>").append($("<a></a > ").attr({
"
href ": v.id,
"
data - file ": v.trackFile
}).html(v.trackName)));
});
$("#player - handwriting - title ").empty().append($ul);
$("#player - handwriting - title a ").click(function() {
var name = $(this).html(),
filename = $(this).attr("
data - file ");
filename2 = "
upload - form/upload/" + filename;
$('#player-digital-title').html($(this).html());
document.getElementById('audio-player').src = filename2;
$("#audio - player ")[0].play();
return false;
});
});
我覺得我很接近,但我只是不能完全似乎得到它的工作。
謝謝。代碼有點截斷,所以我必須留下一些東西。我建立系統的方式是使用JavaScript創建指向文件的鏈接,所以即使有助於獲得下一個和prev「trackName」的出現也會非常有幫助。再次感謝。 – Johan