Сбой Mediaelement.js в IE, флэшбэк не работает

Я использовал 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 ответа

У меня была такая же проблема, и я нашел недокументированную функцию в другом посте: mode:shim Я не уверен, что именно он делает, но, похоже, заставляет все браузеры использовать флэш-память.

Так как 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...

        }

Огромное спасибо за исследовательскую работу и решение - я закончил с немного более отдельным кодом

var options = {...}

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

$('video, audio').mediaelementplayer(options);

Просто поместите это здесь, чтобы другие люди видели это, я попытался использовать этот код

/*@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';

Так как ваша проблема сохраняется только в вашей системе, могут быть проблемы с настройками или флеш-плеером. Вот несколько вещей, которые вы можете попробовать:

  1. Если у вас запущены какие-либо сценарии, попробуйте отключить эти сценарии и снова воспроизвести видео.
  2. Если у вас есть дополнительные флэш-плееры, такие как "Gnash", попробуйте удалить их.
  3. Существует небольшая вероятность того, что ваш флэш-плеер может быть поврежден. Попробуйте переустановить его.
  4. Если ничего из этого не работает, попробуйте очистить куки, кеш, историю.

Вы также можете переустановить Internet Explorer и посмотреть, работает ли он. Всего наилучшего!:)

Другие вопросы по тегам