Appleの携帯電話はvideo.jsを使用してHLSストリームを自動的に再生し、m3u8は非フルスクリーンとフルスクリーンの再生を実現します。

iOSスマートフォンでは、動画の自動再生に問題はありません。ミュート属性を追加すると、動画は自動再生されますが、サイレントモードがオンになります。しかし、Androidスマートフォンでは、再生開始ボタンがありクリックして再生できる機種もあれば、再生ボタンがなく動画を再生できない機種もあります。解決策の一つとして、ミュート属性(ミュート)を追加する方法がありますが、その結果、音声は聞こえるものの再生処理が実行できません。

携帯電話で自動再生を実現するには問題ありません。 ミュート 属性が、サイレントモードをオンにしました。一部の携帯電話には再生開始ボタンがあり、クリックして再生できますが、再生ボタンがなく動画を再生できない携帯電話もあります。解決策の1つは、 ミュート プロパティ(ミュート)ですが、結果はサウンドはありますが再生プロセスはありません。

PCとAndroidはhls.jsを使用して、hlsストリームの自動再生とフルスクリーンおよび非フルスクリーン再生を実現します。

最初に使用されたhls.js、PCとAndroidデバイスで自動的に再生され、フルスクリーンと非

ただし、Appleのスマートフォンでの再生には対応していません。HLSの公式サイトによると、このライブラリはMSEを使用しているとのことです。 HTML5ビデオ そして MediaSource拡張機能 再生用です。MSEはiOSをサポートしていないようです。mdnのスクリーンショットは以下の通りです。

Appleの携帯電話はvideo.jsを使用してHLSストリームを再生し、m3u8は非フルスクリーンとフルスクリーンの再生を実現します-1
まとめ:PCとAndroidはどちらもhls.jsをサポートしていますが、iPhoneはサポートしていません。幸いなことに、videoタグはhls再生をサポートしていることがわかりました。

調査: Apple の携帯電話はビデオを使用して HLS ストリームの自動再生を実現します。

テスト後、再生するには再生ボタンをクリックする必要があり、自動再生ができません。原因は以下のとおりです(新しい):

Appleの携帯電話はvideo.jsを使用してHLSストリームを再生し、m3u8は非フルスクリーンとフルスクリーンの再生を実現します-2

翻訳+テストは次のとおりです。

自動再生するには、次の条件を満たす必要があります。

1. 

2.

3. 

4. 要素をインラインで再生し、再生を開始したときに自動的に全画面モードにならないようにします。つまり、playsinline webkit-playsinline です。

自動再生がすでに進行中の場合、次のいずれかの状況が発生すると自動再生が一時停止されます。

1. ビューポートの外側にスクロールするなどして、要素が見えなくなります。

2. 

テスト後、ビデオには次のプロパティがあり、自動的に再生できます。

要約:自動再生を有効にするには、autoplay muted playsinline="true" webkit-playsinline="true" 属性を使用します。最も致命的な点は、自動再生時に無音になることです。

妥協点:Appleの携帯電話は自動的にホールドする必要はなく、フルスクリーンと非フルスクリーンで再生する必要がある

コードを autoplay playsinline="true" webkit-playsinline="true" controls に変更します。クリックすると再生されます(全画面表示が自動的にポップアップ表示されます)。iOS 13では、ダブルフィンガーリトラクトでインライン再生が可能です。iOS 13より前のバージョンでは、リトラクトは即座に一時停止され、再度クリックすると全画面表示に戻ります。

検索した結果、コードは次のように変更されました。

x-webkit-airplay="allow" は必須です。この属性により、このビデオはiOSのAirPlay機能に対応します。ただし、このコードを追加するとiOS 13以下ではインライン再生が可能になりますが、削除すると再生できなくなります。x5-playsinline はWeChatでの全画面再生を禁止します。

要約:

1. PC と Android はどちらも hls.js をサポートしていますが、Apple のスマートフォンはサポートしていません。

2. AppleのスマートフォンはHLSストリームの動画再生に使用できます。自動再生ミュート(playsinline="true" webkit-playsinline="true")属性を使用すると、自動再生が可能です。さらに致命的な問題は、自動再生中に音声が出ないことです。

3. IOS13 未満でインライン再生するには、x-webkit-airplay="allow" を追加する必要があります。

スコア

手紙への返信

メールアドレスが変更されることはありません。 支払い欄に必須の項目は必須です