2017-04-12 69 views
0

我有單個嵌入在網頁上的iframe播放初始歌曲。在這個播放器下面,我有其他帶有播放按鈕的歌曲的列表。現在,如果點擊任何一個播放圖標,我會更改iframe的src url並想播放這首新歌曲。soundcloud api用法播放歌曲點擊事件

爲了實現相同我在頁面頂部使用js。

<script type="text/javascript" src="https://w.soundcloud.com/player/api.js" ></script> 

然後在我自己的JavaScript我有以下。在文檔準備好我有以下代碼。只是爲了檢查發生了什麼。

$(document).ready(function() { 
var iframeElement = document.querySelector('iframe'); 
var widget = SC.Widget(iframeElement); 
widget.bind(SC.Widget.Events.READY, function() { 
    console.log('Ready'); 
    widget.bind(SC.Widget.Events.PLAY, function() { 
     // get information about currently playing sound 
     widget.getCurrentSound(function (sound) { 
      console.log(sound.title); 
     }); 
    }); 
    widget.bind(SC.Widget.Events.FINISH, function() { 
     console.log('Finished'); 
    }); 
    widget.bind(SC.Widget.Events.PAUSE, function() { 
     console.log('Paused'); 
    }); 
}); 
widget.seekTo(30000); 
widget.toggle(); 
}()); 

現在,玩圖標點擊我打電話下面的功能。

function playcurrentpad(curplayurl) { 

var iframeElement = document.querySelector('iframe'); 

var widget = SC.Widget(iframeElement); 

widget.pause(); 

iframeElement.setAttribute('src', curplayurl); 

widget.play(); 

} 

現在,從上面的代碼,我可以更改嵌入式ifram的src url。但是,play()不會被觸發。在控制檯中,我得到'SoundCloud Embed Player(api-web)'這一行。那麼,下面的代碼有什麼不對?

回答

0

我已經通過在我的音頻網址中追加auto_play = true來解決了我自己的問題。這是簡單的解決方案,但沒有罷工。

相關問題