Сбой Mediaelement.js в IE, флэшбэк не работает - PullRequest
6 голосов
/ 31 мая 2011

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

2 голосов
/ 12 апреля 2012

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

var options = {...}

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

$('video, audio').mediaelementplayer(options);
2 голосов
/ 10 ноября 2011

У меня была та же проблема, и я обнаружил недокументированную функцию в другом посте : 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...

        }
1 голос
/ 18 октября 2012

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

/*@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';
0 голосов
/ 20 июня 2012

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

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

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

...