我想跟蹤用戶何時開始播放歌曲。我的問題是,它只能跟蹤播放按鈕(在我看來)。但是我只想要歌曲的開始,而不是每個播放按鈕的點擊(當用戶暫停歌曲並繼續播放時)。Deezer API - 獲取當前位置
因此,我想檢查歌曲的當前位置,並只在當前位置低於1秒時跟蹤。有誰知道如何獲得當前播放歌曲的位置?關於我找到的玩家位置唯一的事情是player_position事件,當歌曲中的位置改變時觸發事件。
任何想法?最後我想要做的是存儲一個變量,記住,如果歌曲已經被追蹤或者什麼的。
我想跟蹤用戶何時開始播放歌曲。我的問題是,它只能跟蹤播放按鈕(在我看來)。但是我只想要歌曲的開始,而不是每個播放按鈕的點擊(當用戶暫停歌曲並繼續播放時)。Deezer API - 獲取當前位置
因此,我想檢查歌曲的當前位置,並只在當前位置低於1秒時跟蹤。有誰知道如何獲得當前播放歌曲的位置?關於我找到的玩家位置唯一的事情是player_position事件,當歌曲中的位置改變時觸發事件。
任何想法?最後我想要做的是存儲一個變量,記住,如果歌曲已經被追蹤或者什麼的。
要知道用戶何時開始播放歌曲的唯一方法是使用「player_position」,如您所說。與使用「DZ.player.play」動作時執行的「player_play」不同。如果你願意,你可以在這裏看到一個例子http://developers.deezer.com/sdk/javascript/example-invisible,它顯示了它的工作原理。
基於Fred_Dzr的提示我做了一個解決方案,它的工作原理相當不錯:
DZ.Event.subscribe('player_position', function(positionArray) {
var track = DZ.player.getCurrentTrack();
var position = Math.floor(positionArray[0]);
if(position === 1) {
if(!track['tracked']) {
console.log('TRACKING: play: ' + track.id + ' | ' + track.artist.name + ' - ' + track.title);
track['tracked'] = true;
}
} else {
track['tracked'] = false;
}
});
隨着附加標誌每個軌道上的「跟蹤」,我相信這首歌是不是跟蹤了兩次,當「player_position」事件在位置1.1593044475699572和1.4754669253862243和1.7916924465679582或別的東西上被觸發。
跟蹤位置0不適用於我,因爲「player_position」事件在玩家負載上被觸發,但位置1足夠了。同樣,當用戶尋找歌曲的開始時,跟蹤被觸發。那沒關係,因爲在這種情況下,他再次聽歌。
用這種方法我也能跟蹤歌曲的中點。
謝謝!