[英]HTML5/Javascript/jQuery audio player isn't responding to events?
我正在嘗試用播放列表制作html5播放器,以便當一首歌結束時,下一首歌會自動開始。
我正在使用jQuery。
這是我的Javascript:
$(function(){
var player = $('#player')
var index = 0
var CurrentTime = 0
var tracks = [ {'source' : 'audio1.mp3'},
{'source' : 'audio2.mp3'},
{'source' : 'audio3.mp3'}]
var CurrentTrack = tracks[index]
function updateCookie(){
Cookies.set('trackIndex', index)
Cookies.set('time', CurrentTime)
}
//Check if the user has been here before
if(!!Cookies.get('trackIndex')){
updateCookie()
}
else {
index = Cookies.get('trackIndex')
CurrentTime = Cookies.get('time')
}
function playerSetUp(){
player[0].currentSrc = CurrentTrack.source
player[0].currentTime = CurrentTime
}
player.bind('ended',function(){
index++
player[0].currentSrc = CurrentTrack.source
console.log($('#player').currentSrc)
player[0].load()
player[0].play()
})
player.bind('pause',function(){
CurrentTime = $('#player').currentTime
updateCookie()
})
})
這是我的html:
<html>
<head>
<title>Mixtape</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-
3.2.1.min.js"></script>
<script src="js.cookie.js"></script>
<script type="text/javascript" src="player.js"></script>
<head>
<body>
<audio controls autoplay id='player'>
<source src="audio1.mp3">
Fallback
</audio>
</body>
我想創建一個模仿模擬音頻磁帶行為的播放器。 我希望它播放另一首歌曲,當您關閉頁面並再次打開它時,播放器將從上一曲目和您暫停的時間繼續播放。
問題是我上面的代碼沒有響應事件。
我究竟做錯了什么?
您的代碼中有三個錯誤,事件偵聽器正在運行。 采用:
//Check if the user has been here before
if(!Cookies.get('trackIndex')){
updateCookie()
CurrentTrack = tracks[index]
}
else {
index = Cookies.get('trackIndex')
CurrentTime = Cookies.get('time')
CurrentTrack = tracks[index]
}
(只有一個 ”!”)。 並且每次修改“索引”時都需要更新“ CurrentTrack”,因為您只設置了currentTrack一次。
和:
playerSetUp();
player.bind('ended', function() {
index++;
index = index % tracks.length
CurrentTrack = tracks[index]
player[0].currentSrc = CurrentTrack.source
console.log(player[0].currentSrc)
player[0].load()
player[0].play()
})
player.bind('pause', function() {
CurrentTime = player[0].currentTime
updateCookie()
})
您需要調用playerSetUp()並使用index = index%tracks.length來使索引不會大於tracks數組。
還有一件事: player[0].currentSrc
是只讀的。 您需要使用player[0].src
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.