6

mediaelement.js在我的站点中使用了 .mp4 文件作为示例,它具有 H.264 编解码器,在所有浏览器中都可以正常工作,但是当我发布站点时,它在任何版本的 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

我遇到了同样的问题,并在另一篇文章中发现了一个未记录的功能:mode:shim~ 具体来说,不确定它在做什么,但它似乎迫使所有浏览器重新使用 flash。

由于 chrome、ios 等都可以正常处理 html5 视频,我使用条件注释来指定 IE9 并强制回退(flash 或 silverlight):

        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 回答
2

感谢一百万的调查工作和解决方案——我最终选择了稍微分离的代码

var options = {...}

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

$('video, audio').mediaelementplayer(options);
于 2012-04-12T10:45:20.293 回答
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

由于您的问题仅存在于您的系统中,因此您的设置或 Flash 播放器可能存在问题。以下是您可以尝试的一些事情:

  1. 如果您有任何脚本正在运行,请尝试禁用这些脚本并再次播放视频。
  2. 如果您有任何二级 Flash 播放器,例如“Gnash”,请尝试删除它们。
  3. 您的闪存播放器可能已损坏的可能性很小。尝试重新安装它。
  4. 如果这些都不起作用,请尝试清除 cookie、缓存、历史记录。

您还可以重新安装 Internet Explorer 并查看它是否有效。一切顺利!:)

于 2012-06-20T07:12:27.963 回答