Удалить аннотации Youtube из mediaelement.js Проигрыватель?

#javascript #youtube #mediaelement.js

#javascript #YouTube #mediaelement.js

Вопрос:

Я пытался добавить amp;iv_load_policy = 3 в конец URL-адреса YouTube несколькими способами, но аннотации все еще отображаются. Есть ли какой-либо способ отредактировать код, чтобы аннотации не отображались?

РЕДАКТИРОВАТЬ: КОД НИЖЕ

Файлы изMediaElement.js Плагин

Случайное видео с аннотациями:https://www.youtube.com/watch?v=IGz13x5OJ_8

 <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" ></script>
<script src="mediaelement-and-player.min.js"></script>
<link rel="stylesheet" href="mediaelementplayer.css" />

<script>
$(function(){
   player = new MediaElementPlayer('#video-player');
});
</script>

<video style="width:100%;height:100%;" id="video-player" preload="preload" autoplay="autoplay">
    <source type="video/youtube" src="https://www.youtube.com/watch?v=IGz13x5OJ_8" />   
</video>
  

Комментарии:

1. Не могли бы вы показать код, который вы используете? Не могли бы вы предоставить ссылку на видео YouTube с аннотациями?

2. @JFK Первоначальный вопрос был обновлен. Я попытался отредактировать mediaelement-and-player.js в некотором роде добавить amp;iv_load_policy= 3, но пока ничего не сработало.

3. Я не могу воспроизвести вашу проблему. Это jsfiddle.net/K5cY9 с вашим точным кодом не отображаются никакие аннотации (Firefox и Chrome). При каких условиях вы получаете аннотации? ОС? браузер? можете ли вы создать скрипку или демо, чтобы воспроизвести ее?

4. @JFK На вашем jsFiddle я не вижу аннотаций в Chrome с Mavericks, но я вижу их в IE с Windows 7. Но с тем же кодом на моем веб-сайте я вижу аннотации во всех сценариях. Я не вижу ничего, что вы изменили, чтобы удалить аннотации. Возможно, у jsFiddle есть какие-то внутренние настройки YouTube?

5. Я знаю, что происходило с jsfiddle: он использовал MEJS v2.8.2 (как в демонстрационных версиях MEJS), и аннотации не отображались. Я обновил его до более новой версии (v2.13.2), и аннотации отображаются во всех браузерах jsfiddle.net/K5cY9/1 … это хорошая отправная точка.

Ответ №1:

Единственный способ, который я нашел для подавления аннотаций YouTube, — это установка плагина YouTube MEJS вместо flash (по умолчанию), например :

 $(function () {
    player = new MediaElementPlayer('#video-player', {
        plugins: ['youtube']
    });
});
  

Единственное неудобство заключается в том, что autoplay не работает (пока не нашел опцию), но, по крайней мере, основная проблема решена 😉

Смотрите JSFIDDLE

Комментарии:

1. Спасибо! Это решает проблему. Методы play() или load (), похоже, не сразу воспроизводят видео, поэтому должно быть что-то, что проигрыватель делает onclick для инициализации YouTube.

Ответ №2:

Встроенный проигрыватель — это флэш-версия.

Согласно API проигрывателя YouTube, только проигрыватели html5 и AS3 поддерживают эту опцию:https://developers.google.com/youtube/player_parameters#iv_load_policy

Вы можете встроить это через iframe, и это встроит проигрыватель html5 и будет работать, например:

 <iframe width="420" height="315" src="//www.youtube.com/embed/IGz13x5OJ_8?rel=0amp;iv_load_policy=3amp;autoplay=1amp;html5=1" frameborder="0" allowfullscreen></iframe>
  

amp;html5 = 1 предназначен только для принудительного использования html5, если это возможно, хотя, если видео поддерживает его, оно все равно должно использовать html5 по умолчанию.

Комментарии:

1. Кроме того, я не верю, что YouTube в настоящее время поддерживает встраивание видео html5 с использованием тегов video. Поди разберись.

2. Я уже пробовал это, и это хорошо работает для настольных браузеров, но проблема в том, что видео не будет воспроизводиться на мобильном устройстве (внутри mediaelement.js проигрыватель).

3. тогда возникает проблема с mediaelement.js библиотека. Это явно поддерживается YouTube, и это одна из причин, по которой они изначально создали проигрыватели html5. developers.google.com/youtube/iframe_api_reference