1

多くのグーグルと調査の結果、iOSがhtml5オーディオとビデオの自動再生をブロックしていることがわかりました。オーディオとビデオは、クリックイベントへの応答としてのみ再生できます。

今、私は別の問題を抱えています。ユーザーが作成したプレイリストがたくさんある音楽ウェブサイトを運営しています。[再生]をクリックした後、ajaxリクエストを実行してトラックのURLを取得し、それらを読み込んで再生します。iOSは、これを音楽を再生するための同期クリックイベントとは見なさないため、再生ボタンをクリックしても音楽の再生は開始されません。プレーヤーコントロールの一時停止ボタンと再生ボタンをクリックして、再生を開始する必要があります(基本的にはpause()とplay()を使用します)。

どうしたらいいかわからない。クリックイベントの前にすべてのMP3URLを事前にロードすることはできません。これを行う他の方法はありますか?

4

2 に答える 2

1

さて、少し浮気して調べた後、プレイリストのフェッチと再生をワンクリックで行う唯一の方法は、AJAXリクエストの代わりに同期リクエストを使用することであることがわかりました。リクエストの読み込み中にページがフリーズしますが、それが唯一の方法のようです。

于 2012-06-11T06:18:27.747 に答える
1

これは古くからの質問ですが、これに出くわした人にとっては、クリックハンドラーから直接短く静かなサウンドを再生するという簡単な解決策があります。理想的には、これはすでにフェッチしてキャッシュしたサウンドファイルです。

その後、ユーザーが直接操作しなくても、他のハンドラーから再生を開始できるようになります。(AJAX / XHR応答など)

于 2019-11-03T07:53:45.990 に答える