从soundcloud api获取正确的.mp3网址,以便与soundmanager2 360播放器一起使用

sat*_*nth 3 javascript jquery soundmanager2 soundcloud

我的问题是相同的一个在这里,但是因为这个问题一直没有解决,我不能消息PeeHaa私下问的答案,我会在这里再次问.

我已经成功查询了soundcloud api并获得了每首曲目的stream_url并将其添加到我的360播放器的所有href中(此处演示).我的元素代码看起来像这样:

<div class="ui360">
 <a href="/path/to/an.mp3" data-title="Track title">play "an.mp3"</a>
</div>
Run Code Online (Sandbox Code Playgroud)

我有这个脚本来查找所有带有数据标题属性的标签,并根据stream_url给它们正确的href,但是当我尝试在浏览器中单击soundmanager图标并播放轨道时,它只会被重定向到. mp3网址.

SC.initialize({
  client_id: 'MY_CLIENT_ID'
});

SC.get('/playlists/2450655', 'allow_redirects=False', function(playlist) {

  var titles = $('.audio .ui360 a').each(function(index){
    this.index = index;
  });

  for (var i = 0; i < playlist.tracks.length; i++) {    
    var id = '?client_id=MY_CLIENT_ID'    
    for (var j = 0; j < titles.length; j++) {      
      if (playlist.tracks[i].title === $(titles[j]).attr('data-title')) {
        $(titles[j]).attr('href', playlist.tracks[i].stream_url+id)
      }            
    }    
  }

});
Run Code Online (Sandbox Code Playgroud)

有谁知道如何以这种方式获得正确的url播放soundcloud上的音轨?

Ben*_*n Y 5

我知道这是一个古老的问题,但是这个问题让我陷入了困境,我终于弄明白了,所以这是我对其他人的回答:

如果您在链接中指定mp3 mimetype,Soundmanager将起作用:

<div class="ui360">
    <a type="audio/mp3" href="https://api.soundcloud.com/tracks/49349198/stream?client_id=YOUR_CLIENT_ID" data-title="Track title">play "an.mp3"</a>
</div>
Run Code Online (Sandbox Code Playgroud)