- Per ottimizzare le prestazioni, Chrome ora disattiva le tracce video quando un video MSE viene riprodotto in background.
- Il video passerà a schermo intero quando il dispositivo viene ruotato.
Ottimizzazioni della traccia video in background (solo MSE)
Per migliorare la durata della batteria, ora Chrome disattiva le tracce video quando il video viene riprodotto in background (ad esempio in una scheda non visibile) se utilizza le Estensioni Media Source (MSE).
Puoi esaminare queste modifiche andando alla pagina chrome://media-internals
e filtrando per la proprietà "info". Quando la scheda contenente un video in riproduzione diventa non attiva, viene visualizzato un messaggio come Selected video track: []
che indica che la traccia video è stata disattivata. Quando la scheda diventa di nuovo attiva, la traccia video viene riattivata automaticamente.
Per chi vuole capire cosa sta succedendo, ecco uno snippet di codice JavaScript che mostra approssimativamente cosa fa Chrome dietro le quinte.
var video = document.querySelector('video');
var selectedVideoTrackIndex;
document.addEventListener('visibilitychange', function() {
if (document.hidden) {
// Disable video track when page is hidden.
selectedVideoTrackIndex = video.videoTracks.selectedIndex;
video.videoTracks[selectedVideoTrackIndex].selected = false;
} else {
// Re-enable video track when page is not hidden anymore.
video.videoTracks[selectedVideoTrackIndex].selected = true;
}
});
Ti consigliamo di ridurre la qualità dello stream video quando la traccia video è disabilitata. Per rilevare quando una pagina è nascosta, è sufficiente utilizzare l'API Page Visibility come mostrato sopra.
Ecco alcune limitazioni:
- Questa ottimizzazione si applica solo ai video con una distanza tra keyframe inferiore a 5 secondi.
- Se il video non contiene tracce audio, verrà messo automaticamente in pausa quando viene riprodotto in background.
Riproduzione automatica dei video a schermo intero quando il dispositivo è ruotato
Se ruoti un dispositivo in modalità Orizzontale mentre un video è in riproduzione nell'area visibile, la riproduzione passerà automaticamente alla modalità a schermo intero. Se ruoti il dispositivo in verticale, il video torna alla modalità finestra.
Tieni presente che puoi implementare manualmente questo comportamento. (consulta l'articolo Riproduzione di video sul web mobile).
Questo comportamento magico si verifica solo quando:
- Il dispositivo è uno smartphone Android (non un tablet)
- L'orientamento dello schermo dell'utente sia impostato su "Rotazione automatica"
- Le dimensioni del video devono essere di almeno 200 x 200 pixel
- Il video utilizza i controlli nativi
- video attualmente in riproduzione
- almeno il 75% del video è visibile (sullo schermo)
- L'orientamento ruota di 90 gradi (non di 180 gradi)
- non esiste ancora un elemento schermo intero
- lo schermo non è bloccato utilizzando l'API Screen Orientation