如何在iPhone上运行SoundCloud iframe API?

时间:2013-03-05 21:04:24

标签: soundcloud

我正在尝试在iPhone上运行SoundCloud iframe API,但我遇到了让它发挥作用的问题。我准备了一个JSFiddle来证明这一点:http://jsfiddle.net/aj3Pw/1/。我试图完成的只是添加一个播放按钮来触发小部件开始播放。在浏览器中加载示例,您会注意到一切正常(播放按钮将开始播放小部件)。但是,在iPhone中加载相同的示例,窗口小部件将无法播放。 “播放”按钮将变为“暂停”按钮,但音频永远不会开始播放。此外,'ready'事件似乎永远不会在iPhone上发射。有关为什么这不适用于iPhone的任何想法?

来自上述JSFiddle的代码:

var iframe = document.querySelector('#player');
var sc = SC.Widget(iframe);

sc.bind(SC.Widget.Events.READY, function() {
    var d = document.createTextNode('Ready');
    document.querySelector('body').appendChild(d);
});

document.querySelector('button').addEventListener('click', function() {
    sc.play();
});

标记:

<iframe width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F7659975" id="player"></iframe>

<button id="play">Play</button>

1 个答案:

答案 0 :(得分:1)

TL; DR:iOS 6应该通过用户操作限制一个调用来执行init,iOS5及以下版本可能无法修复。

完整答案在这里:https://stackoverflow.com/a/13569799/236135