2012-12-08 47 views
0

我幾乎完成了創建我的聲音雲端流式自定義播放器的工作,但我希望可以添加當前正在播放的歌曲的標題和藝術家。在SoundCloud中獲取當前曲目信息自定義播放器

現在我有這樣的:http://hellkeepers.com/music/examples/sc-player-minimal.html

但我似乎無法搞清楚在哪裏可以找到當前曲目的信息。

+1

如果您使用API​​請求軌道,它應該在json響應中。您使用相同的響應來獲取流url。 – PeeHaa

+0

我不確定我是否可以使用它,因爲我沒有使用開發者API?這是定製玩家。 – user1888260

+1

當然可以。你有所有你需要的信息[在這裏](https://github.com/soundcloud/soundcloud-custom-player/blob/master/js/sc-player.js#L132)。這一切都在追蹤變量中。 – PeeHaa

回答

0

獲得的圖像和標題,你可以使用此代碼:

//get element by id from your iframe 
var widget = SC.Widget(document.getElementById('soundcloud_widget')); 
widget.getCurrentSound(function(music){ 
    artwork_url = music.artwork_url.replace('-large', '-t200x200'); 
    $('#song1').css('background', 'url(\"'+artwork_url+'\") '); 
    //write the title in a div with the id "title" 
    document.getElementById('title').innerHTML = music.title; 
}); 

normaly你在最後得到以「 - 高」的鏈接,大小爲100×100。如果你想要其他尺寸,你必須像我一樣用「.replace」來改變結尾。可用大小的列表,你可以在這裏找到:

https://developers.soundcloud.com/docs/api/reference#tracks(我的尺寸200×200未列出,但工作也許有更多的大小不一樣每一百個像素。)

有:

widget.getDuration(function(duration) { 
    alert(duration); 
} 

你有首歌以毫秒爲單位

,長度:

widget.getPosition(function(position) { 
    alert(position); 
} 

你可以以毫秒爲單位實際獲取歌曲。你必須運行一個循環來獲得每一秒的實際時間。可能你必須計算幾毫秒到幾秒和幾分鐘。

遲了,但再好不過我的回答:D

相關問題