私はこのウェブページを持っています:
http://healthpad.net/dashboard/
10個の<video>
要素。
何らかの理由で、iPadにページを読み込むと、ビデオポスターが表示されません。
以下を試してください:
これが起こっている理由を教えてください?
既に除外しているものは次のとおりです。
Image Content-Typeヘッダー
画像のコンテンツタイプヘッダーが適切に設定されていることを確認しました。上記の例では、Content-Type
ヘッダーが正しくimage/jpeg
。
video.jsライブラリとの干渉
VideoJsを使用して、デスクトップブラウザーのNice再生ボタンを表示し、コントロールをカスタマイズします。ただし、このライブラリはネイティブプレーヤーに干渉しません。
念のため、video-jsクラスのないテスト動画ページを作成したため、ライブラリはその動画を取得して処理しません。実際、テストページにはJSライブラリも含まれていません。
<html><body>
<video
controls
height="400"
width="600"
poster="http://healthpad.net/media/CACHE/images/uploads/video_poster_1414/bd5fba5a68ddd0f4b3f61193f6908962.jpg"
src="http://healthpad.net/media/uploads/video_processed_720p_1414.mp4"
></video>
</body></html>
http://healthpad.net/rj_templates/test/zzz/
Mobile Safariでサポートされていない可能性のあるビデオ属性の使用法
上記のテストページには、単純な動画タグがあります。 src
とposter
を除く他のすべての属性を削除しようとしましたが、役に立ちませんでした。
このトピックに関するStackOverflowの質問のほとんどは、「iPadを再起動してください」と言うだけです
ここで奇妙になります:
これについてグーグルで検索した場合、受け入れられたStackOverflowの答えは、「iPadを再起動してください、それで私のためになりました」と言うことがよくあります。
だから私は同じことをやってみましたが、最初は私の場合はうまくいかないと言いました。
次に、私はこれを試しました:
(iPadシミュレーターでは以下のすべて)
どうやら、ある時点で、Mobile Safariはビデオポスターを表示しないことを決定します。また、明らかに、私のサイトはこの状態を引き起こします。
明確化:
ポスターが機能しなくなると、1つのドメインでのみ発生するわけではなく、まったく別のドメインにあるかどうかに関係なく、他のサイトにビデオポスターが読み込まれません(例: http:/ /www.videojs.com/ )。
この動作をリセットするには、私が見たものから、Safariを強制終了して再起動する必要があります。閉じて再度開くだけでは、この状態はリセットされません。
なぜこれが起こっているのか誰にも分かりますか?それを回避する方法はありますか?
JPGの代わりにPNGを使用して、これを機能させました。
奇妙なことに、JPGはiOS Safariでローカルに(ローカルWiFiのPOWサーバー経由で)動作しましたが、ステージングにプッシュされたときにポスター画像がロードされませんでした。ローカルコードとステージングコードの両方が、S3上の同じファイルを参照していました。
ファイル形式をPNGに変更すると、問題なくロードされます。
答えはありませんが、質問は時々賛成され続けます。だからここに私がやったことです:
IOSでは、ビデオプレーヤーを表示する代わりに(autoload=false
)、ポスターと再生ボタン、2つのスタンドアロン<img>
タグ。クリックされたら、JavaScriptからビデオプレーヤーを作成し、再生するように指示します。正常に機能し、ユーザーには大きな違いはありません。
Safariの設定[iOS7]で[ポップアップをブロック]が[オフ]になっていると、これが解決したようです。