6

この例では、H.264 コーデックの .mp4 ファイルを使用mediaelement.jsしました。すべてのブラウザーで正常に動作しますが、サイトを公開するとき、どのバージョンの Internet Explorer でも動作しません。私のローカルホストでは問題はありませんが (フラッシュ フォールバックはうまく機能します)、私のサーバーでは機能しません。

私が使用したコードは次のとおりです。

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>VIDEO HTML5</title>

    <script type="text/javascript" src="player_files/jquery.js"></script>
    <script type="text/javascript" src="player_files/mediaelement-and-player.min.js"></script>
    <link href="player_files/mediaelementplayer.min.css" rel="Stylesheet" />
</head>

<body>


<video id="video1" src="http://www.teletica.com/html5/videos/precious.mp4" width="640" height="360" poster="http://www.teletica.com/html5/videos/precious.jpg" controls="controls" preload="none"></video>

<video width="640" height="360" id="video2" poster="videos/precious.jpg" controls="controls" preload="none">
    <source type="video/mp4" src="http://teletica.com/html5/videos/precious.mp4" />
    <source type="video/webm" src="http://teletica.com/html5/videos/precious.webm" />

    <object width="640" height="360" type="application/x-shockwave-flash" data="player_files/flashmediaelement.swf">        
        <param name="movie" value="player_files/flashmediaelement.swf" /> 
        <param name="flashvars" value="controls=true&file=http://teletica.com/html5/videos/precious.mp4" />         

        <img src="player_files/precious.jpg" width="640" height="360" alt="Here we are" title="No video playback capabilities" />
    </object>   
</video>

<script type="text/javascript">
    $('video, audio').mediaelementplayer();
</script>

プレイヤーはこの方向に働きhttp://www.teletica.com/html5ます。

4

4 に答える 4

2

調査作業と解決策をありがとうございました—私は少し分離されたコードで行くことになりました

var options = {...}

/*@cc_on
  @if (@_jscript_version == 9)
    options.mode = 'shim';
  @end
@*/

$('video, audio').mediaelementplayer(options);
于 2012-04-12T10:45:20.293 に答える
2

私は同じ問題を抱えていて、別の投稿で文書化されていない機能を見つけました: mode:shim~具体的に何をしているのかはわかりませんが、すべてのブラウザーがフラッシュにフォールバックするように強制しているようです.

chrome、ios などは html5 ビデオで適切に動作していたので、条件付きコメントを使用して IE9 を指定し、フォールバック (フラッシュまたはシルバーライト) を強制しました。

        var player = new MediaElementPlayer('video', {
/*@cc_on
@if (@_jscript_version == 9)
            mode: 'shim',
@end
@*/
            // remove or reorder to change plugin priority
            plugins: ['flash','silverlight'],

            // etc...

        }
于 2011-11-10T19:27:41.633 に答える
1

他の人が見るようにここに置くだけで、このコードを使用してみました

/*@cc_on
@if (@_jscript_version == 9)
            mode: 'shim',
@end
@*/

そして、Internet Explorer 9 で問題が発生しました。ブラウザが私のビデオの別のインスタンスを作成していて、それが他のすべてのものの上に再生され、まったく制御できなかったようです。私は代わりにこれで行きました。

if($.browser.msie && ($.browser.version == '8.0' || $.browser.version
== '7.0'))
        options.mode = 'shim';
于 2012-10-18T18:38:57.637 に答える
-1

問題はシステムでのみ発生するため、設定またはフラッシュ プレーヤーに問題がある可能性があります。あなたが試すことができるいくつかのことはここにあります:

  1. スクリプトを実行している場合は、それらのスクリプトを無効にして、ビデオをもう一度再生してみてください。
  2. 「Gnash」などのセカンダリ Flash プレーヤーがある場合は、それらを削除してみてください。
  3. フラッシュ プレーヤーが破損している可能性がわずかにあります。再インストールしてみてください。
  4. これらのいずれも機能しない場合は、Cookie、キャッシュ、履歴をクリアしてみてください。

また、Internet Explorer を再インストールして、動作するかどうかを確認することもできます。ではごきげんよう!:)

于 2012-06-20T07:12:27.963 に答える