Sto provando a creare un piccolo progetto con sprite video, modellato dopo this JSFiddle for audio sprites.Sprite video a schermo intero
La riproduzione funziona come previsto: facendo clic sui pulsanti corrispondenti vengono riprodotte le parti pertinenti del video.
Ora, tuttavia, vorrei incorporare qualcosa che faccia riprodurre il video a schermo intero (oa finestra intera) quando si preme il pulsante o quando si preme un tasto. La demo here, for example mostra un approccio in cui se si fa clic su Immettere mentre il video è in riproduzione, entrerà in modalità a schermo intero.
Non sono particolarmente esperto con JavaScript, quindi è probabile che la soluzione mi stia guardando in faccia su come integrare l'approccio mostrato nell'articolo su Mozilla, ma sono perplesso.
Ecco quello che ho in questo momento, che crea gli sprite di video, come previsto:
var videoSprite = document.getElementById('bbb');
// sprite data
var spriteData = {
full: {
start: 0,
length: 595
},
tentotwenty: {
start: 10,
length: 10
},
tentothirty: {
start: 10,
length: 20
},
fiftytoonefifty: {
start: 50,
length: 200
}
};
// current sprite being played
var currentSprite = {};
// time update handler to ensure we stop when a sprite is complete
var onTimeUpdate = function() {
if (this.currentTime >= currentSprite.start + currentSprite.length) {
this.pause();
}
};
videoSprite.addEventListener('timeupdate', onTimeUpdate, false);
// in mobile Safari, the first time this is called will load the audio. Ideally, we'd load the audio file completely before doing this.
var playSprite = function(id) {
if (spriteData[id] && spriteData[id].length) {
currentSprite = spriteData[id];
videoSprite.currentTime = currentSprite.start;
videoSprite.play();
}
};
<video id="bbb">
<source src="https://ia700408.us.archive.org/26/items/BigBuckBunny_328/BigBuckBunny_512kb.mp4" type="video/mp4" />
</video>
<br />
<br />
<ul>
<li>
<button onclick="playSprite('full');">Play full video</button>
</li>
<li>
<button onclick="playSprite('tentotwenty');">Play from 10 to 20 seconds</button>
</li>
<li>
<button onclick="playSprite('tentothirty');">Play from 10 to thirty seconds</button>
</li>
<li>
<button onclick="playSprite('fiftytoonefifty');">Play from 50 to 200 seconds</button>
</li>
</ul>
Eventuali suggerimenti su come estendere questo per lo schermo intero o finestra piena sarebbe molto apprezzato!
Grande! +1. Quindi, se devo capire la differenza tra questo approccio e l'approccio nell'altra risposta, questo ha l'azione a schermo intero direttamente collegata al pulsante così come il tasto Invio. È corretto? – A5C1D2H2I1M1N2O1R2T1
@AnandaMahto Mi dispiace rivedere in ritardo. Per favore, controlla la risposta aggiornata. – Alex
Aggiornamenti fantastici! Molte grazie. Ho intenzione di giocare un po 'di più con questo. Spero non ti dispiaccia se aspetto ancora un po 'prima di decidere come assegnare il taglia :-) – A5C1D2H2I1M1N2O1R2T1