0

我正在开发一个网络应用程序,它允许人们通过复制和粘贴 URL 来共享来自 Soundcloud 的链接。然后 webapp 生成一个运行人员列表,允许用户打开一个加载 Soundcloud 播放器的模式(通过 SC.oEmbed)。URL 派生自打开模式的元素。所以 SC.oEmbed 打开了在 href 属性中找到的 URL。

我的一切工作都很好,除了当模式关闭时音乐继续播放。

似乎没有与此播放器相关的 stop() 或 pause() 函数,就像 Widget 播放器那样。我发现的唯一解决方案是在关闭时让 SC.oEmbed 打开另一个随机 soundcloud 链接,但关闭 auto_play。这行得通,但似乎真的很不雅,而且浪费资源。一定有更好的方法不是吗?哦,我也在使用 Twitter Bootstrap。

这是我的 jQuery 代码:

$(document).ready( function() {
    SC.initialize({
  client_id: "xxxxxxxxxxxxxxxxxx",
});

    $("a[data-target='#myModal']").click(function(event) {
            event.preventDefault(); /* makes sure <a> link doesn't actually open new window */
            var url = this.href; // gets Soundcloud URL from href in <a> element
            SC.oEmbed(url, { auto_play: false }, document.getElementById("audio_1_body"));
    });

/* this part below is what I want to improve -- loading up a random track, just to stop playing of track that was loaded in the modal */

    $("#myModal").on("hidden.bs.modal", function(){
           url = "https://soundcloud.com/the-deep-dark-woods/sugar-mama-1"; 
           SC.oEmbed(url, { auto_play: false },       document.getElementById("audio_1_body")); //this last part is what I want to improve
    });
4

1 回答 1

0

SC JS SDK似乎没有办法做到这一点。

最好的办法是删除 SC iframe:

$('#audio_1_body').html('')
于 2014-02-07T13:26:28.510 回答