riprodurre un video in reverse utilizzando l'elemento video HTML5

Sto lavorando su una funzionalità spiegata di seguito – Una volta caricato un video / con un button, deve giocare in retromarcia. I dispositivi di destinazione sono telefoni intelligenti e dispositivi tablet. Sto provando a fare questo utilizzando il tag HTML5 e leggo l'attributo playBackRate . Più in basso, sto usando la roba HTML5 per generare le mie applicazioni mobili utilizzando Phonegap.

Ecco un collegamento che ho trovato interessante ma parzialmente funzionante – http://www.w3.org/2010/05/video/mediaevents.html

  • Il metodo canvas.drawBitmap () Android non funziona correttamente
  • Come scaricare immagini con dimensione specifica da archiviazione firebase
  • È ansible caricare dynamicmente una libreria in runtime da un'applicazione Android?
  • Come viene dichiarato un servizio di intenti nel Manifest di Android?
  • Elaborare più di un button su Android Widget
  • come posso submit il valore del button radio e passare l'opzione random al server utilizzando json android?
  • Il playbackrate , quando è stato modificato, non fa altro che spingere il video indietro, da qualunque numero sia dato lì.

    Ho letto qui che quando playBackRate è impostato su -1 , occorre accadere la riproduzione inversa.

    Non sono chiaro su come esattamente implementare questo. Il playbackrate effettivamente effettua questo inversione? o dovrei optare per fare qualcos'altro?

    NUOVA LINEA QUI: Sono quasi .. ho trovato un esempio di lavoro qui . Ma questo non funziona quando lo sto provando nel mio sistema. Non sono sicuro di where lo sto facendo male.

  • android: errore di mediaplayer (1, -17)
  • Come rilevare l'orientamento esatto del dispositivo in Froyo?
  • Eccezione Exodus OutOfMemory di decodifica di Bitmap
  • Come posso fornire i parametri a una function di test che è stata lanciata usando il command adb shell am Instrumentation
  • sviluppare C # / .NET sui dispositivi Android
  • Crea messaggio durante l'invio di immagini tramite Asmack
  • One Solution collect form web for “riprodurre un video in reverse utilizzando l'elemento video HTML5”

    Questo è un vecchio thread quindi non so se sia utile quanto segue.

    Le note dello sviluppatore Mozilla sottolineano che:

    I valori negativi [per playbackRate] non riproducono attualmente il supporto all'indietro.

    Lo stesso vale per Chrome, ma Safari su Mac funziona.

    Questa pagina da w3c è grande nell'osservazione e nella comprensione degli events:

    http://www.w3.org/2010/05/video/mediaevents.html

    Ho preso la jsfiddle che hai citato e aggiunto alcuni controlli aggiuntivi per le velocità di avanzamento / riavvolgimento veloce:

    http://jsfiddle.net/UkMV2/5/

    Tuttavia, anche se questo funziona bene per me con Chrome / Firefox / Safari, vorrei sottolineare che non risponde veramente alle tue domande chiave.

    In primo luogo, l'approccio presuppone che le velocità di riproduzione negativa non funzionino (che al momento che scrivo questo, è in gran parte vero AFAICS). Invece, falserà calcolando e impostando l'ora corrente nel video:

     function rewind(rewindSpeed) { clearInterval(intervalRewind); var startSystemTime = new Date().getTime(); var startVideoTime = video.currentTime; intervalRewind = setInterval(function(){ video.playbackRate = 1.0; if(video.currentTime == 0){ clearInterval(intervalRewind); video.pause(); } else { var elapsed = new Date().getTime()-startSystemTime; log.textContent='Rewind Elapsed: '+elapsed.toFixed(3); video.currentTime = Math.max(startVideoTime - elapsed*rewindSpeed/1000.0, 0); } }, 30); } 

    Chrome gestisce questo modo senza soluzione di continuità, anche quando riproduce frammenti di audio come va.

    In secondo luogo, penso che tu voglia riprodurre il video in senso inverso non appena la pagina viene caricata. Non posso immaginare un caso d'uso per questo, ma il primo problema che vedo è che l'integer video dovrà essere scaricato prima della riproduzione, quindi dovrai aspettare – ma il download probabilmente non accadrà finché non avrai iniziato a suonare . Così potresti impostare il tempo currentTime vicino alla fine e attendere l'evento canPlay e quindi iniziare a giocare in retromarcia. Anche allora, questo sembra molto scomodo.

    Penso che ci siano queste ampie opzioni:

    1) Utilizza un widget video nativo piuttosto che HTML. Sto indovinando (senza verificare) che l'API nativo support la riproduzione inversa.

    2) Genera un video invertito appropriato e la riproduce come normale. Ad esempio, su un server in qualche luogo utilizzare un programma come fmpeg per invertire il video. Allora la tua applicazione scarica il video e la riproduce normalmente, che guarda all'utente come indietro.

    Supponendo che abbia davvero senso avere un'applicazione che riproduce un video in retromarcia quando lo carichi, allora vorrei personalmente andare al # 2.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.