EnChikiben
@EnChikiben

Как YouTube сделал автовоспроизведение видео в iPad и iPhone?

Добрый день! Собственно сабж, или как это можно сделать в теге video
  • Вопрос задан
  • 6952 просмотра
Пригласить эксперта
Ответы на вопрос 6
blo
@blo
инженер-программист
На древних версиях iOS работал трюк с fake click
        function fakeClick(fn) {
            var $a = $('<a href="#" id="fakeClick"></a>');
                $a.bind("click", function(e) {
                    e.preventDefault();
                    fn();
                });

            $("body").append($a);

            var evt, 
                el = $("#fakeClick").get(0);

            if (document.createEvent) {
                evt = document.createEvent("MouseEvents");
                if (evt.initMouseEvent) {
                    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
                    el.dispatchEvent(evt);
                }
            }

            $(el).remove();
        }

        $(function() {
            var video = $("#someVideo").get(0);

            fakeClick(function() {
                video.play();
            });
        });

stackoverflow.com/questions/3009888/autoplay-audio-files-on-an-ipad-with-html5

Но насколько я понимаю как минимум с iOS 6.x это уже не работает.

На YouTube все немного хитрее. При открытии youtube.com вы видите список видео и кликаете на каком-то. В этот момент на самом деле не происходит перехода на другую страницу (навигация происходит через хеш в URL). Так как мы остались на той же странице то можно делать привязку начала проигрывания к клику, скорее всего используется что-то аналогичное примера из документации:
 <input type="button" value="Play" onclick="document.myMovie.play()">

Ради интереса введите в браузере на iPad прямой url на какое-то видео и не кликайте по странице. Начнется автоматическое воспроизведение?
Ответ написан
@rozhik
Разве автовоспроизведение?
По моему таки требуется один клик. А в контексте обработчика кликов, тачей можно запускать проигрывание видео.
Ответ написан
@Makito
Я делал просто так video.play(); и работает, но там вызов был в контексте исполнения после смены слайда на экране, может это как то влияло на работу.
Ответ написан
EnChikiben
@EnChikiben Автор вопроса
делаю вот так

<script>
myVid=document.getElementById("video1");
myVid.play();
</script> 

на
Mozilla/5.0 (iPad; U; CPU OS 6_1 like Mac OS X; ja-jp) AppleWebKit/536.26 (KHTML, like Gecko) Version/6 Mobile/10B141 Safari/8536.25

не играет… я так понял у вас новее даже версия
Ответ написан
Flanker_4
@Flanker_4
А посмотрите на js вот с этого сайта
ссылка на первый попавшийся фильм
У меня на втором паде с iOS 6.1 автоматически воспроизводится видео(кстати оооочень раздражает)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы