2012-05-09 3 views
0

누구나 같은 질문을합니다. iKenndac이 대답합니다. 하지만 더 자세한 정보가 필요하며 여기에 새로운 질문을 만들 때 질문에 주석을 추가하는 방법을 찾을 수 없습니다.Spotify 앱에서 contexte를 비활성화하는 방법 (이전/다음 버튼이 비활성화되어 있음)

spotify로 재생되는 트랙을 제어하고 싶습니다. 그래서 이전 및 다음 버튼을 비활성화하고 싶습니다.

해결 방법은 플레이어에게 컨텍스트를 제공하지 않고 트랙을 재생하는 것입니다. 나는 그랬지만 다음/이전은 무능력하지 않다. Spotify는 현재 컨텍스트가 별표 표시된 내 재생 목록이므로 작동합니다. 여기

은 몇 가지 코드를

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); 
} 

편집을하다 : 새로운 시험 iKenndac

에서 대답 후 나는 그것의 맥락에서 트랙을 분리하려고하지만 그것은 작동하지 않습니다. 그래서 하드 코딩 된 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

감사를 다시 빠른 대답. 나는 이전/다음 버튼이 여전히 사용 가능하기 때문에 뭔가를 놓친 것 같습니다. 그리고 컨텍스트는 다시 별표가 붙은 재생 목록입니다. 내가 먼저 별표가 붙은 재생 목록에서 가져 오지 않고 하드 코드 된 URI를 사용하여 트랙을로드하려고합니다. –

관련 문제