Javascript Deezer API-获取当前位置

Javascript Deezer API-获取当前位置,javascript,playback,deezer,Javascript,Playback,Deezer,我想跟踪用户何时开始播放歌曲。我的问题是,它只能跟踪播放按钮(在我看来)。但是我只想要歌曲的开头,而不是每次播放按钮的点击(当用户暂停歌曲并继续播放时也是如此) 因此,我想检查歌曲和曲目的当前位置,只有当当前位置低于1秒或其他时候。有人知道如何获得当前播放歌曲的位置吗?关于播放器位置,我发现的唯一一件事是播放器位置事件,当歌曲中的位置发生变化时会触发该事件 有什么想法吗?最后我要做的是存储一个变量,该变量可以记住歌曲是否已被跟踪或其他内容。知道用户何时开始播放歌曲的唯一方法是使用您所说的“播放器

我想跟踪用户何时开始播放歌曲。我的问题是,它只能跟踪播放按钮(在我看来)。但是我只想要歌曲的开头,而不是每次播放按钮的点击(当用户暂停歌曲并继续播放时也是如此)

因此,我想检查歌曲和曲目的当前位置,只有当当前位置低于1秒或其他时候。有人知道如何获得当前播放歌曲的位置吗?关于播放器位置,我发现的唯一一件事是播放器位置事件,当歌曲中的位置发生变化时会触发该事件


有什么想法吗?最后我要做的是存储一个变量,该变量可以记住歌曲是否已被跟踪或其他内容。

知道用户何时开始播放歌曲的唯一方法是使用您所说的“播放器位置”。它与使用“DZ.player.play”动作时执行的“player_play”不同。如果你愿意,这里有一个例子,展示了它是如何工作的。

根据弗雷德·扎尔的暗示,我提出了一个解决方案,效果非常好:

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;
    }
});
在每条音轨上都有额外的“tracked”标志,我确信当在位置1.1593044475699572和1.4754669253862243和1.7916924465679582或其他位置触发“player_position”事件时,歌曲不会被跟踪两次

跟踪位置0对我不起作用,因为“玩家位置”事件是在玩家加载时触发的,但位置1就足够了。此外,当用户搜索歌曲的开头时,会触发跟踪。没关系,因为在这种情况下,他又听了一遍这首歌

使用这种方法,我还能够跟踪歌曲的中点

谢谢大家!