2

SoundCloud iframe APIをiPhoneで起動して実行しようとしていますが、再生する際に問題が発生しています。これを実証するためにJSFiddleを準備しました:http://jsfiddle.net/aj3Pw/1/。私が達成しようとしているのは、単に再生ボタンを追加して、ウィジェットの再生を開始することです。例をブラウザにロードすると、すべてが正常に機能していることがわかります(再生ボタンでウィジェットの再生が開始されます)。ただし、同じ例をiPhoneにロードすると、ウィジェットは再生されません。「再生」ボタンは「一時停止」ボタンに変わりますが、オーディオの再生は開始されません。さらに、「準備完了」イベントは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>
4

1 に答える 1

1

TL;DR: iOS 6 は、play の呼び出しがユーザー アクションによって初期化されるという制限付きで動作するはずです。iOS5 以下ではおそらく修正されません。

完全な回答はこちら: https://stackoverflow.com/a/13569799/236135

于 2013-03-06T08:59:56.990 に答える