0

Spotify HTML5 アプリ (バージョン 1.0) で、プレーヤーの現在の位置が変わるたびに (models.player.position) 関数を呼び出すにはどうすればよいですか? つまり、setInterval ミリ秒関数のようですが、プレーヤーと同期しています。「change:track」と「change」を試してみました。これらは、トラックが変更されたときとプレーヤーが一時停止したときに(それぞれ)完全に起動しました。

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

事前に感謝し、私の下手な英語で申し訳ありません!

EDIT : 毎秒または 500 ミリ秒ごとに起動される関数は完璧です。

4

1 に答える 1

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 ミリ秒の倍数に非常に近いと仮定できると思います。

于 2013-11-04T16:47:24.310 に答える