Загрузите videobyid() в обычный проигрыватель YouTube (не без хрома)
-
21-08-2019 - |
Вопрос
У меня есть проигрыватель YouTube на веб-странице.Мне нужно динамично изменить видео, воспроизводимое этим плеером.
Это (относительно) просто с помощью безхромного проигрывателя YouTube.У него есть метод loadVideoById()
который работает идеально.Проблема в том, что в проигрывателе без хрома нет никаких элементов управления (воспроизведение / пауза и т.д.).В обычный проигрыватель YouTube имеет все это, но у него нет loadVideoById()
способ.
Есть ли какой-нибудь способ включить элементы управления обычного проигрывателя в chromeless player или реализовать loadVideoById()
метод в обычном плеере?
Спасибо.
Решение
Вы не можете этого сделать, потому что вызовы в "обычном проигрывателе YouTube" имеют VideoID в URL вместо этого в качестве параметра:
- Обычное видео: http://www.youtube.com/v/VIDEO_ID&enablejsapi=1&playerapiid=ytplayer
- Бесхромный: http://www.youtube.com/apiplayer?enablejsapi=1
Вместо этого вы можете легко создать свою собственную функцию, которая изменяет встроенный SWF, я имею в виду, скажем, что вы используете swfобъект для "Обычного игрока", затем используя Функция createSWF вы сможете динамически заменять предыдущее видео на настоящее.
Надеюсь, это поможет вам.
Другие советы
Ты можешь это сделать...
http://code.google.com/apis/ajax/playground/#change_the_playing_video
К вашему сведению, есть также плагин jQuery, который может сделать это за вас и предоставить вам массу элементов управления!
Я обнаружил, что проще использовать loadVideoByUrl() в качестве альтернативы loadVideoByIdl() вместо использования createSWF, вам не нужно возиться с swfobject таким образом, это встроенная функция...просто используйте идентификатор видео для создания swf-URL YouTube, такого как:url="http://www.youtube.com/e /" + VIDEO_ID + "?enablejsapi=1&version=3" и отправляйте с помощью функции loadVideoByUrl(), подобной этой:игрок.loadVideoByUrl(url)
Таким образом, вам не придется возиться с swfobject , это прописано здесь:
http://code.google.com/apis/youtube/js_api_reference.html#loadVideoById
"player.loadVideoByUrl(mediaContentUrl:строка, startSeconds: число): недействителен Загружает и воспроизводит указанное видео.
* The mediaContentUrl must be a fully qualified YouTube player URL in the format http://www.youtube.com/e/VIDEO_ID. In YouTube Data API video feeds, the url attribute of the <media:content> tag contains a fully qualified player URL when the tag's format attribute has a value of 5.
* startSeconds accepts a float/integer and specifies the time from which the video should start playing. If startSeconds (number can be a float) is specified, the video will start from the closest keyframe to the specified time."