Я использую SwipeView (http://cubiq.org/swipeview), чтобы создать слайд-шоу с сенсорным экраном. Это достаточно просто с изображениями, но я хочу включить видео Vimeo в слайд-шоу. К сожалению, поскольку iFrame захватывает ваш сабвуфер для себя (я считаю, что это то, что происходит по крайней мере), как только вы достигнете слайда видеоплеера, вы больше не сможете отмахнуться от него, если не нажмете на разбиение на страницы. Это неприемлемо.На iPhone функция Vimeo Javascript API .play() не работает до тех пор, пока не будет воспроизведено видео
Мое решение заключалось в том, чтобы скрыть видео где-то на странице (с использованием дисплея: нет или высота: 0 или что-то работает) и использовать изображение в слайд-шоу с событием клика, которое запускает воспроизведение видео. Даже если видео скрыто, когда он воспроизводится, он должен работать в полноэкранном режиме и воспроизводить (по крайней мере, на iPhone).
Этот метод работает отлично, когда я тестирую его на своем рабочем столе браузера, но он ведет себя странно на iPhone. В целях тестирования видео отображается под слайд-шоу. Если я загружаю страницу и нажимаю на слайд, она ничего не делает. Однако, если я воспроизвожу видео, нажав на фактический видеопроигрыватель, как только видео было закрыто, я снова смогу воспроизвести видео, нажав на слайд. В принципе, как только видео воспроизводится через плеер, я могу воспроизводить видео через API, но не без использования проигрывателя вначале.
Вот мой код:
// Append the "hidden" video player to the page
$('.slider-container').append("<div class='mobile-video-slide'><iframe id='slideshow-player' src='//player.vimeo.com/video/81295681?title=0&byline=0&portrait=0&color=8bd4ee&api=1&player_id=slideshow-player' width='500' height='281' frameborder='0' webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div>");
// Get the player object
var iframe = $('#slideshow-player')[0],
player = $f(iframe);
// When the video is ready
player.addEvent('ready', function() {
// Add the click event to the slide
$('#play-video').on('click', function() {
// Play the video
player.api('play');
// Don't jump the page
return false;
});
});
я определил через тестирование, что player.ready событие работает должным образом, и это событие нажмите на изображение в исправному. Проблема, похоже, целиком лежит в вызове player.api('play')
. Любая помощь или альтернативный метод достижения этой цели будут оценены.
Да, IOS не позволяет видео для воспроизведения без взаимодействия с пользователем. По какой-то причине это взаимодействие теряется в какой-то момент через наш API. –
Эй, @BradDougherty, я вижу то же поведение, что и в Chrome и Firefox для Android (4.4.2), это известная проблема? Нет разрешения для этого на iOS еще? – RwwL
Представьте, что вы собираетесь на сайт с фильмом на нем, загрузка начинается немедленно, потому что вы назначаете его для автоматического воспроизведения. Пользователь за границей, и их счет за сотовый телефон в следующем месяце составляет 25 000 долларов США. –