几个月来,我一直在努力让它发挥作用,但它仍然不起作用。它在除谷歌浏览器外的所有浏览器中都能正常工作。问题是Chrome中没有音频流。
下面是一个JS最基本的例子。https://jsfiddle.net/sq23uxqs/
首先我包含了新的javascript SDK
<script src="https://connect.soundcloud.com/sdk/sdk-3.0.0.js"></script>
然后在我的Javascript 中
SC.initialize({
client_id: "78c2f0ffbef212328769a921e5663879"
});
SC.stream('/tracks/293').then(function(player){
player.play();
});
有人知道为什么这是API的问题吗?
经过调查,似乎与flash播放器的问题有关。证据是如果你去这里chrome://plugins/并取消激活flash播放器,它将在Chrome中再次工作。但很明显,当开发一个网站时,你不希望这个网站只为你工作。
Soundcloud Api似乎使用soundmanager2作为基础来处理音频流,该音频流本身具有两种模式flash和html5。问题是,如果flash播放器可用,它会尝试使用它并失败,而如果不可用,它只会使用html5并立即工作。
https://github.com/soundcloud/soundcloud-javascript/issues/39
'tmp'协议导致了该问题。。颠倒可用协议的顺序,使"http"位于"rtmp"之前
if (player.options.protocols[0] === 'rtmp') {
player.options.protocols = player.options.protocols.reverse();
}