Deezer API-获取当前位置
Deezer API - get current position
我想跟踪用户何时开始播放歌曲。我的问题是只能跟踪播放按钮(在我看来)。但我只想要歌曲的开头,而不是每次点击"播放按钮"(以及当用户暂停歌曲并继续播放时)。
因此,我只想在当前位置低于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;
}
});
由于每首曲目上都有"tracked"的附加标志,我确信当"player_position"事件在位置1.1593044475699572和1.4754669253862243以及1.7916924465679582或其他位置启动时,歌曲不会被跟踪两次。
跟踪位置0对我不起作用,因为"player_position"事件是在玩家加载时触发的,但位置1已经足够了。此外,当用户寻找歌曲的开头时,跟踪被触发。没关系,因为在这种情况下,他又听了这首歌。
通过这种方法,我也能够追踪歌曲的中点。
谢谢!
相关文章:
- 通过传递的参数位置获取jQuery中图像的宽度
- 如何使用位置获取滚动功能获取 HTML 中的元素标签
- 如何在鼠标位置获取所有元素
- 在插入符号位置获取DOM元素
- 是否可以在javascript中基于地理位置获取街道详细信息
- 根据用户光标的位置获取 iframe ID
- Angular js cordova地理位置获取当前位置并在后台将数据发送到服务器
- 使用光标位置获取元素内的文本
- 在 AngularJS 中按路径位置获取控制器
- 如何使用 IP 地址 + 地理位置获取用户位置 Asp.Net.
- 导航器地理位置获取当前位置不起作用
- 使用javascript按位置获取元素的id
- 在数组位置获取并设置cookie值
- 在指定位置获取元素JavaScript,并将其映射回源HTML
- 从请求脚本的位置获取主机
- 我们如何使用类名通过它在 Jquery 中的位置获取第二个元素
- API,用于从智能手机上的GPS位置获取附近商店的名称
- Jquery谷歌地图位置-获取选择选项
- Javascript,使用地理位置获取城市名称
- 从slector处理多个id的位置获取实际id