Flowplayerを使用して、利用可能な場合はHTML5ビデオを許可し、サポートされていない場合はフラッシュフォールバックを使用しようとしています。
これはFirefoxとChromeで正常に機能しますが、IE9ではビデオを見つけることができず、IE9より下ではビデオをサポートしていません。
私は何か間違ったことをしていますか、それともflowplayerはIEでサポートされていませんか?
Flowplayerを使用して、利用可能な場合はHTML5ビデオを許可し、サポートされていない場合はフラッシュフォールバックを使用しようとしています。
これはFirefoxとChromeで正常に機能しますが、IE9ではビデオを見つけることができず、IE9より下ではビデオをサポートしていません。
私は何か間違ったことをしていますか、それともflowplayerはIEでサポートされていませんか?
私は同様の問題に遭遇していましたが、解決したと思うので、おそらくこれで解決するでしょう。私の問題は、.mp4 ビデオ ファイルの MIME タイプが video/mpeg として提供されていたことでした。ビデオがビデオ/mp4 として提供される場合、IE9 で正しくロードされます。私は .ogg ファイルをテストしていませんが、問題は似ていると感じています。
メインのフロープレーヤー デモページとこのHTML5 ビデオ プレーヤー比較ページで (すべてのブラウザーで) ビデオの動作を確認していたので、少し戸惑いました。しかし、彼ら自身の開発者が一貫した負荷を得るのに苦労していて、バグレポートの一部として提出されており、彼らの「修正」デモも私のために働いていなかったので、私は少し正しかったと感じていました(しかし、彼らのメインのデモはそうでした!) .
セットアップを完全にミラーリングし、セットアップ ドキュメントに従っても、私のプレーヤーは IE9 では動作しませんでしたが、Firefox、Chrome、および IE8 (フラッシュ フォールバックあり) では動作していました。
サーバーからビデオを読み込んでみることにしましたが、すぐに機能しました。IE9 のネットワーク ペインを調べたところ、MIME タイプの不一致が見つかりました。flowplayer サーバーが .mp4 ファイルを「video/mp4」として提供していたときに、私のサーバーは「video/mpeg」として .mp4 ファイルを提供していました。.mp4 ファイル タイプは単なるコンテナーであり、ビデオ ファイルは基になるエンコーディング スキームに依存することは知っていますが、IE9 は MIME タイプに基づいてビデオをデコードしようとすることにうるさいだけだと感じました。再生可能と認識されていない場合に再生します。ネットワーク管理者に MIME タイプを変更してもらい、以前は失敗していた同じビデオが完全に機能するようになりました。
参考までに、これが私の HTML の設定方法です。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://releases.flowplayer.org/5.1.1/flowplayer.min.js"></script>
<div class="flowplayer is-splash">
<video preload="none">
<source src="http://stream.flowplayer.org/black/470x250.mp4" type="video/mp4" />
</video>
</div>
ここに私のために働くと思われる解決策があります....
基本的に、flowplayer のフラッシュ フォールバックは IE では機能しないようです...
解決策は、古い Flowplayer フラッシュ プラグインを使用し、次のような IE コンディショナル タグを使用することです。
<!--[if IE]>
<a href="videos/file.mp4"
style="display:block;width:520px;height:330px"
id="player">
</a>
<script>
flowplayer("player", "/swf/flowplayer-3.2.15.swf");
</script>
<![endif]-->
<!--[if !IE]><!-->
<div class="flowplayer" data-swf="swf/flowplayer.swf" data-ratio="0.417">
<video>
<source type="video/mp4" src="videos/file.mp4"/>
<source type="video/ogg" src="videos/file.ogv"/>
</video>
</div>
<!--<![endif]-->
多くの調査を行い、互換モードを強制するためにヘッダータグを追加できなかった後(私のビデオはモーダル内にあるため)。ソースタグをから変更することでIE9で動作するようになりました
<source type="video/mp4" src="video.mp4"></source>
に
<source type="text/html" src="video.mp4"></source>
IE9でビデオが再生されていないときに、mp4ファイルがvideo/mp4ではなくtext/htmlとして再作成されているのを確認しました。タグを変更してみたところ、機能しました。
私はこれが意味をなさないことを知っています...しかし、IEが意味をなすときから?!したがって、phpファイルにヘッダーを設定できない場合はheader('X-UA-Compatible:IE = EmulateIE8'); 私の状況のように、mp4タイプをtext/htmlに設定してみてください