Internet Explorer не показывает Flowplayer-Video
Недавно я переключился на Flowplayer (я раньше использовал VideoJS), и я столкнулся с еще одной проблемой с нашим любимым Internet Explorer.
Я пытаюсь показать mp4-видео (.h264-кодек) с помощью flowplayer, и оно отлично работает во всех браузерах (Chrome, Firefox, Safari, Opera), но не в Internet Explorer. Как ни странно, в IE9 он просто говорит "Видео файл не найден", а в IE7-IE8 - "Неподдерживаемое видео".
<div class="flowplayer">
<video poster="/videos/poster_bbb.jpg" width="222" height="125" src="/videos/bbb.mp4"></video>
</div>
Я также попытался использовать тег внутри тега, я попытался преобразовать видео, я попытался использовать абсолютный и веб-путь к видео, но все безрезультатно.
Примечание. Поскольку пользователь должен иметь возможность загружать свое собственное видео.mp4, я не могу использовать другие теги для.ogg или.webm.
Заранее спасибо!
Elveti
4 ответа
Может быть этот пост может помочь вам
с поста
Если вы хотите встроить видео MP4 на свой сайт для показа в IE, вам нужно будет использовать следующий код, заменяя videofilename.mp4 на имя вашего видео.
<OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab"
WIDTH="320" HEIGHT="256" >
<PARAM NAME="src" VALUE="videofilename.mp4">
<PARAM NAME="autoplay" VALUE="true">
<PARAM NAME="controller" value="true">
<EMBED SRC="QTMimeType.pntg" TYPE="image/x-macpaint"
PLUGINSPAGE="http://www.apple.com/quicktime/download" QTSRC="videofilename.mp4"
WIDTH="320" HEIGHT="256" AUTOPLAY="true" CONTROLLER="true">
</EMBED>
</OBJECT>
У меня такая же проблема. Работало везде нормально, кроме IE. Это потому, что IE ищет видео, используя относительный путь от места, где расположен файл flowplayer.swf. Но другие браузеры используют относительный путь от места, где выполняется скрипт. Так что вы можете попробовать его с абсолютным путем, или я сейчас использую этот обходной путь:
У меня следующая структура
player/flowlayer.swf
movie/data/Video/video.mp4
play.html
Чем проигрывать фильм из play.html - где связан flowplayer.swf Я использую условные комментарии.
<div class="flowplayer" data-engine="flash" data-swf="./player/flowplayer.swf">
<video autoplay>
<!--[if IE]>
<source type="video/mp4" src="../movie/data/Video/video.mp4"/>
<![endif]-->
<!--[if !IE]><!-->
<source type="video/mp4" src="movie/data/Video/video.mp4"/>
<!--<![endif]-->
</video>
</div>
Другой альтернативой для Internet Explorer (9 и 10) является попытка использовать тип видео /flash вместо видео /mp4, например:
<source type="video/flash" src="..."/>
После долгих исследований и неспособности добавить тег заголовка в режим принудительной совместимости (потому что мое видео находится в модальном режиме). Я получил его на работу для IE9, изменив тег источника с
<source type="video/mp4" src="video.mp4"></source>
в
<source type="text/html" src="video.mp4"></source>
Я видел, что когда видео не воспроизводилось в IE9, файл mp4 воспроизводился как text/html, а не video/mp4... поэтому я просто попытался изменить тег, и это сработало!
Я знаю, что это не имеет никакого смысла... но с каких пор IE имеет смысл?! Таким образом, если вы не можете установить заголовок в заголовке вашего php-файла ('X-UA-Compatible: IE=EmulateIE8'); как в моей ситуации, попробуйте установить тип mp4 для text/html