Dokunmatik ekran aygıtlarında değiştirilebilir bir slayt gösterisi oluşturmak için SwipeView (http://cubiq.org/swipeview) kullanıyorum. Bu, resimlerle yeterince basit, ancak slayt gösterisinde de bir Vimeo videosu eklemek istiyorum. Ne yazık ki, iFrame tokatlama girişinizi kendi başına yakaladığı için (en azından bunun gerçekleştiğine inanıyorum), video oynatıcı slaydına geldiğinizde, sayfa numaralarına dokunmadığınız sürece artık bundan uzaklaşamazsınız. Bu kabul edilemez.iPhone'da Vimeo Javascript API .play() işlevi, video oynatılıncaya kadar çalışmıyor
Çözümüm, videoyu sayfada bir yere gizlemekti (ekranı kullanarak: none; veya height: 0; veya ne olursa olsun) ve slayt gösterisinde oynatılacak videoyu tetikleyen bir tıklama olayıyla bir görüntüyü kullanmak vardı. Video gizlenmiş olsa bile, oynatıldığında tam ekrana gitmeli ve oynatmalıdır (en azından iPhone'da).
Bu teknik, masaüstü tarayıcımda test ettiğimde iyi çalışıyor, ancak iPhone'da garip davranıyor. Test amaçlı olarak, video slayt gösterisinin altında görüntülenir. Sayfayı yükler ve slayda dokunursam, hiçbir şey yapmaz. Ancak, video oynatımını gerçek video oynatıcısına dokunarak çalarsam, video kapatıldıktan sonra, slayta dokunarak videoyu tekrar oynatabilirim. Temel olarak, video oynatıcıdan oynatıldığında, videoyu API aracılığıyla yürütebilirim ancak ilk kez oynatıcıyı kullanmadan oynamam.
// 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;
});
});
Ben player.ready olay düzgün çalıştığını ve resmin tıklama etkinliği düzgün çalıştığından emin testi ile tespit ettik:
İşte benim kodudur. Sorun, tümüyle player.api('play')
aramasında yatıyor. Herhangi bir yardım veya bunu başarmanın alternatif bir yöntemi takdir edilecektir.
Yep tetiklemek için "oynat düğmesini" tıklamak zorunda iOS izin vermez videolar, kullanıcı etkileşimi olmadan oynanacak. Hangi nedenle olursa olsun, bu etkileşim bizim API'mız aracılığıyla bir noktada kaybolur. –
Hey @BradDougherty, Chrome'da ve Android için Firefox'ta (4.4.2) açıklananla aynı davranışı görüyorum, bu bilinen bir sorun mu? Bu konuda iOS için de bir çözüm yok mu? – RwwL
Üzerinde film olan bir web sitesine gittiğinizi düşünün, otomatik oynatmaya atadığınız için indirme hemen başlar. Kullanıcı yurtdışında ve önümüzdeki aylarda cep telefonu faturası 25.000 dolar. –