Sto usando SwipeView (http://cubiq.org/swipeview) per creare una presentazione scorrevole su dispositivi touchscreen. Questo è abbastanza semplice con le immagini, ma voglio includere anche un video di Vimeo nella presentazione. Sfortunatamente, dato che l'iFrame cattura il tuo swipe input per se stesso (credo che questo sia quello che sta succedendo almeno), una volta arrivato alla diapositiva del video player non puoi più scorrere via da esso a meno che non tocchi l'impaginazione. Questo non è accettabile.Su iPhone, la funzione .play() dell'API di Vimeo Javascript non funziona fino a quando il video non è stato riprodotto
La mia soluzione era nascondere il video da qualche parte sulla pagina (utilizzando display: nessuno o altezza: 0 o qualsiasi altra cosa) e utilizzare un'immagine nella presentazione con un evento click che attiva il video da riprodurre. Anche se il video è nascosto, quando viene riprodotto dovrebbe andare a schermo intero e riprodurre (su iPhone, almeno).
Questa tecnica funziona correttamente durante il test sul browser desktop, ma si sta comportando in modo strano su iPhone. A scopo di test, il video viene visualizzato sotto la presentazione. Se carico la pagina e tocco sulla diapositiva, non fa nulla. Tuttavia, se riproduco il video toccando il vero lettore video, una volta chiuso il video posso riprodurre nuovamente il video toccando la diapositiva. Fondamentalmente, una volta che il video viene riprodotto tramite il lettore, posso riprodurre il video tramite l'API, ma non senza usare il lettore una volta per primo.
Ecco il mio codice:
// 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;
});
});
ho determinato attraverso test che l'evento player.ready funziona correttamente, e che l'immagine di evento click funziona correttamente. Il problema sembra essere interamente nella chiamata player.api('play')
. Qualsiasi aiuto o un metodo alternativo per ottenere ciò sarebbe apprezzato.
Sì, IOS non consente video da riprodurre senza interazione da parte dell'utente. Per qualsiasi motivo, tale interazione si perde in qualche momento attraverso la nostra API. –
Hey @BradDougherty, sto riscontrando un comportamento identico a quanto descritto qui in Chrome e Firefox per Android (4.4.2), si tratta di un problema noto? Ancora nessuna risoluzione per questo su iOS ancora? – RwwL
Immagina di andare su un sito Web con un filmato, il download inizia immediatamente perché lo assegni alla riproduzione automatica. L'utente è all'estero e la fattura del cellulare il mese successivo è di $ 25.000. –