2012-07-30 4 views
1

У меня есть несколько видеороликов, размещенных в слайдах AnythingSlider вместе с другими типами контента в каждом. Они отлично работают во всех браузерах, которые я тестировал, за исключением iOS на iPhone 3 и iPhone 4. Я использую бета-версию AnythingSlider Video Controller 1.3 (та, которая по-прежнему поставляется с загрузкой AnythingSlider 1.8.6).AnythingSlider - video.js вызывает сбой iOS. Есть ли частичная сборка этого JS-файла?

Если я возьму jquery.anythingslider.video.js из уравнения, видео будет воспроизводиться на iPhone. Проблема в том, что без video.js любое видео, размещенное внутри слайдера, будет продолжать воспроизводиться даже после нажатия следующего/предыдущего и продвижения вперед. Не было бы такого недостатка, если бы у видео не было звука (но некоторые из моих дел, поэтому вы все еще слышите его, когда просматриваете совершенно разные слайды).

Я отследил проблему в jquery.anythingslider.video.js в отношении сбоев iOS. Кажется, это происходит из-за обработки Flash, используемой этим скриптом. Все, что использует Flash, даже если оно является частью функции в JS (или много раз, когда оно используется только в качестве резервной копии), похоже, отключает iPhone.

Мой вопрос заключается в следующем: существует ли частичная сборка jquery.anythingslider.video.js, которая автоматически остановит видео автоматически при продвижении слайдов, не имея ссылок на Flash, чтобы он мог успешно использоваться с iOS?

Спасибо, что нашли время, чтобы прочитать это и для любого ввода, который у вас может быть.

ответ

0

Хм, я не знал о сбое iOS при попытке получить доступ к флеш-памяти, я должен буду изучить это.

Я не совсем уверен, что это за видео, которое вы используете, но если это просто HTML5 видео, то video wiki documentation есть пример того, как управлять HTML5 видео без расширения - demo

$('#slider').anythingSlider({ 
    // pause video when out of view 
    onSlideInit: function(e, slider) { 
     var vid = slider.$lastPage.find('video'); 
     if (vid.length && typeof(vid[0].pause) !== 'undefined') { 
      vid[0].pause(); 
     } 
    }, 
    // continue playing video if already started 
    onSlideComplete: function(slider) { 
     var vid = slider.$currentPage.find('video'); 
     if (vid.length && typeof(vid[0].pause) !== 'undefined' && vid[0].paused && vid[0].currentTime > 0 && !vid[0].ended) { 
      vid[0].play(); 
     } 
    }, 
    // pause slideshow if video is playing 
    isVideoPlaying : function(slider){ 
     var vid = slider.$currentPage.find('video'); 
     return (vid.length && typeof(vid[0].pause) !== 'undefined' && !vid[0].paused && !vid[0].ended) ? true : false; 
    } 
}); 
+0

Спасибо @fudgey. Я использовал этот скрипт, и теперь все работает, кроме воспроизведения на устройстве iOS (я тестирую iPhone 3 и iPhone 4). Не уверен, почему это будет так, но автономное видео отлично воспроизводится на обоих этих устройствах iOS. По какой-то причине, когда я беру один и тот же тег видео и вставляю его в слайдер для просмотра видео в виде отдельного слайда, он больше не будет отображаться ни на iPhone. Все остальные браузеры правильно отображают видео в слайдере, включая воспроизведение/паузу при смене на предыдущий/следующий слайд. – Todd

+0

Наверху ... Теперь, по крайней мере, ни один iPhone не может потерпеть крах браузера при попытке воспроизведения видео в слайдере. Они просто не отображают видеоконтент в слайдере (представления в виде пустого слайда), но вы можете перемещаться по слайдам, как обычно, в противном случае). – Todd

+0

Возможно, попробуйте изменить параметр режима AnythingSlider на '' fade'' ... это складывает все слайды друг над другом и не дублирует слайды. – Mottie

 Смежные вопросы

  • Нет связанных вопросов^_^