Spotify应用程序:更改位置的消防功能

时间:2013-11-04 07:05:52

标签: javascript html5 spotify spotify-app

在Spotify HTML5应用程序(版本1.0)中,每次播放器的当前位置发生变化时,如何调用函数(models.player.position)?我的意思是,像setInterval毫秒函数,但与播放器同步。 我尝试过“改变:跟踪”和“改变”,当曲目改变时和玩家暂停时(分别),这些都被完美地激发了。

models.player.addEventListener('change:track', updateCurrentTrack);
models.player.addEventListener('change', updateStatus);

提前致谢并抱歉我的英语不好!

编辑:每秒或500毫秒触发的功能将是完美的。

1 个答案:

答案 0 :(得分:0)

在我的桌面上,每隔850-950毫秒打印一次。

require(['$api/audio', '$api/models'], function (audio, models) {
    var analyzer = audio.RealtimeAnalyzer.forPlayer(models.player);

    var last_position = -1;
    analyzer.addEventListener('audio', function (evt) {
        models.player.load('position').done(function() {
            if(models.player.position != last_position) { 
                console.log(models.player.position + ", " + (models.player.position-last_position)); 
                last_position = models.player.position;
            }
        });
    });
});

肯定不是最佳解决方案。

OTOH,实时分析仪应该用音乐非常可靠地报告信息,我怀疑你可以只计算呼叫并假设你非常接近256毫秒的倍数。