2012-05-09 13 views
0

誰かが同じ質問をします。 iKenndacはそれに答えます。しかし、私は詳細を必要とし、私はここに新しい質問を作成するので、質問にコメントを追加する方法を見つけることができません。Spotify Appでcontexteを無効にする方法(前/次のボタンが無効になるため)

spotifyで再生されるトラックをコントロールできるようにしたい。だから私は前と次のボタンを無効にしたい。

解決策は、プレーヤにコンテキストを与えずにトラックを再生することです。私はそれをしましたが、次/前は無効になっていません。 Spotifyは現在のコンテキストが私のスター付きプレイリストであるため動作します。いくつかの新しいテストiKenndac

からの回答後、私はその文脈からトラックを分離しようとするが、それは動作しません。ここで

は、いくつかのコード

var sp = getSpotifyApi(1); 
var models = sp.require('sp://import/scripts/api/models'); 
var player = models.player; 
var pl_starred = models.library.starredPlaylist; 

exports.init = init; 

function init() { 
    var header = document.getElementById("header"); 
    var index = Math.floor(Math.random()*pl_starred.length) 
    var track = pl_starred.get(index); 

    if (pl_starred == null) { 
     header.innerText = "starred not found"; 
    } else if (track == null) { 
     header.innerHTML = "cannot get track from starred"; 
    } else { 
     header.innerHTML = "starred " + index + "/" + pl_starred.length + " : " + track.name; 
    } 

    player.play(track,null); 
} 

編集です。 したがって、ハードコードされたURIを使用してトラックをロードしようとします。だから私は主演のプレイリストを読み込まなかった。しかし、それは私のコードここ

あまりうまくいきませんでした

function init() { 

    var header = document.getElementById("header"); 

    var player = models.player; 

    models.Track.fromURI("spotify:track:3ZfW4Z3MEvd82pv5J0rN2l", function(trackNotInStarred) { 
     console.log("Track loaded", trackNotInStarred.name); 
     player.play(trackNotInStarred, null); 
     header.innerHTML = "starred: " + trackNotInStarred.name; 
    }); 
} 

新編集:前/次のボタンが無効にされていませんが、私は以前にクリックした場合、それはトラックを再起動し、次のそれがジャンプし、実際に「トラックなし」状態、および「前/再生/次」が無効にされる。 アイデア

答えて

0

「スター付き」プレイリストのトラックを最初から取得しているという事実からコンテキストを推測しているようです。

、コンテキストからトラックを分離するために、これを試してみてください:迅速な答えを再び

var player = models.player; 
var trackInStarred = pl_starred.get(index); 

models.Track.fromURI(trackInStarred.uri, function(trackNotInStarred) { 
    console.log("Track loaded", trackNotInStarred.name); 
    player.play(trackNotInStarred, null); 
}); 
+0

感謝を。私は以前/次のボタンがまだ利用できるように何かを逃したかもしれない。また、そのコンテキストは再びスター付きのプレイリストになります。私はまずスター付きのプレイリストからトラックをロードせずに、ハードコードされたURLを使ってトラックをロードしようとします。 –

関連する問題