禁用Spotify中的“下一步”按钮 [英] Disable next previous buttons in spotify
本文介绍了禁用Spotify中的“下一步”按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望能够禁用Spotify中的下一步和上一步按钮。 我知道这是可能的,因为SounDrop应用程序已经成功做到了这一点。
我搜索了一下,根据我的理解,我应该播放上下文为空的曲目或仅包含1首曲目的上下文。我一直在测试我能想到的所有可能的解决方案,但似乎都没有奏效。它们中的大多数实际上会导致在上下文为空的情况下播放曲目,但"下一步"/"上一步"按钮始终处于启用状态。
如果我按下Next按钮,播放器将不播放任何曲目,并且两个按钮都被禁用...
下面是我的测试应用程序中的代码。
var sp = getSpotifyApi(1);
var models = sp.require('sp://import/scripts/api/models');
var views = sp.require('sp://import/scripts/api/views');
models.player.observe(models.EVENT.CHANGE, function (o) {
console.log(['Player Change', o, models.player.context]);
})
$('#play1').click(function () {
models.Track.fromURI("spotify:track:5A1fNC7Fdb0yyh3UA6T1ef", function (track) {
console.log(["play1", track.name]);
models.player.play(track, null);
});
});
$('#play2').click(function () {
models.Track.fromURI("spotify:track:5A1fNC7Fdb0yyh3UA6T1ef", function (track) {
console.log(["play2", track.name]);
var p = new views.Player();
p.play(track, null);
});
});
$('#play3').click(function () {
models.Track.fromURI("spotify:track:5A1fNC7Fdb0yyh3UA6T1ef", function (track) {
console.log(["play3", track.name]);
var pl = new models.Playlist();
pl.add(track);
models.player.play(track, pl);
});
});
$('#play4').click(function () {
console.log(["play4"]);
models.player.play("spotify:track:5A1fNC7Fdb0yyh3UA6T1ef", null);
});
$('#play5').click(function () {
models.Track.fromURI("spotify:track:5A1fNC7Fdb0yyh3UA6T1ef", function (track) {
models.player.playTrack(track);
});
});
$('#play6').click(function () {
models.Track.fromURI("spotify:track:5A1fNC7Fdb0yyh3UA6T1ef", function (track) {
console.log(["play6", track.name]);
var pl = new models.Playlist();
pl.add(track);
models.player.playTrackWithContext(track, pl, 0);
});
});
$('#play7').click(function () {
var l = new models.Link("spotify:track:5A1fNC7Fdb0yyh3UA6T1ef");
sp.trackPlayer.setContextCanSkipNext(l, false);
console.log(["play7", models.player, sp.trackPlayer],l);
models.player.play(l, null);
});
#播放1的结果:
["play1", "Jag är här nu"]
["Player Change", Object, null]
#播放2的结果:
["play2", "Jag är här nu"]
["Player Change", Object, null]
#播放3的结果:
["play3", "Jag är här nu"]
["Player Change", Object, "spotify:internal:temp_playlist:spotify:app:myapplication@687556942764"]
#播放4的结果:
["play4"]
["Player Change", Object, null]
#play 5的结果:
["play5", "Jag är här nu"]
["Player Change", Object, null]
#play 6的结果:
["play6", "Jag är här nu"]
["Player Change", Object, "spotify:internal:temp_playlist:spotify:app:myapplication@217702072872"]
#播放7的结果:
sp.trackPlayer.setContextCanSkipNext(l, false);
上面的行会生成一个异常,并显示消息"无法将参数0转换为链接"
提前谢谢
推荐答案
我现在做了一些工作,找到了如何执行此操作。
models.Track.fromURI("spotify:track:5A1fNC7Fdb0yyh3UA6T1ef", function (track) {
var pl = new models.Playlist();
sp.trackPlayer.setContextCanSkipPrev(pl.uri, false);
sp.trackPlayer.setContextCanSkipNext(pl.uri, false);
pl.add(track);
models.player.play(track, pl);
});
希望这能帮助其他任何人解决这个问题,并陷入关于播放空上下文的曲目的讨论中...
这篇关于禁用Spotify中的“下一步”按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文