2014-04-21 14 views
6

Sto costruendo un'app in Cordova dove la prima pagina dell'app contiene un tag video impostato per la riproduzione automatica. Non ricevo errori 404 durante il caricamento del file ... Il file non verrà riprodotto. Il video è solo nero con una durata di 0:00 che non cambia.I file video locali non vengono riprodotti nell'app per Android Cordova

La cosa strana è che ottengo due richieste di rete negli strumenti di sviluppo remoto di Chrome per il file video: il primo mostra uno stato (di successo) e il secondo ha uno stato di (annullato). Ho provato a utilizzare due URL diversi per il file:

file: ///android_asset/www/video/nameofmyvideo.mp4 con il file video effettivamente in /www/video/nameofmyvideo.mp4.

e

android.resource: // nomedelmiopacchetto/raw/nameofmyvideo con il file video in realtà/www/res/raw/nameofmyvideo e/piattaforme/android/res/raw/nameofmyvideo

I Sono in esecuzione l'ultima cordova (3.4.1-0.1.0) e test su un incendio acceso con CM-11 (4.4.2).

Ecco il markup che sto utilizzando:

<video width="400px" height="300px" autoplay controls> 
    <source src="file:///android_asset/www/video/video-test.mp4" type="video/mp4"> 
</video> 

O

<video width="400px" height="300px" autoplay controls> 
    <source src="android.resource://my.package.name/raw/videotest" type="video/mp4"> 
</video> 

È questo un problema pathing Android? L'app funziona così com'è in iOS. Ho anche provato a usare webm, senza successo.

edit:

Inoltre sembra che la questione carico della rete doppia (un successo, uno annullato) avviene indipendentemente dal fatto che il file può effettivamente caricare. Ho caricato lo stesso file mp4 su http ospitato sul mio sito web e il video ha funzionato bene (ma ha comunque mostrato entrambe le richieste).

+0

Cosa succede se rimuovi px, come ho detto? – nicael

+0

Purtroppo, no. Ho provato senza px, con percentuali e senza larghezza o altezza esplicita. Ancora senza fortuna. – zigzackattack

+0

Da tutto ciò che posso dire, questo sembra essere un problema di autorizzazione dei file. Gli URL remoti su HTTP funzionano correttamente e i plugin che utilizzano l'URL android.resource per spostarsi e accedere al file video restituiscono localmente 404s. Mi sto perdendo qualcosa nel mio config.xml potenzialmente? – zigzackattack

risposta

0

Dovrebbe essere autoplay anziché autoplay="" e controls anziché controls="". E rimuovere px: width="400" height="300"

+0

Scusa, questo è in realtà quello che ho. Chrome ha aggiunto il = "" a entrambi e ho copiato e incollato da lì. Modificherò il mio post. – zigzackattack

+0

@zigzackattack Modificato – nicael

0

Forse tenta di aggiungere load il tag video:

<video width="400px" height="300px" autoplay controls onklcik="~videoClicked(this)"> 
    <source src="file:///android_asset/www/video/video-test.mp4" type="video/mp4"> 
</video> 

    //somewhere in your scripts 
    videoClicked function(elem) { 
     $(elem).load(); 
    } 
1

sua non è possibile leggere il video da attività all'interno cartella su Android, è necessario metterlo da qualche parte al di fuori dell'app, sdcard o da remoto. Ecco perché l'APK è compresso in modo sostanziale da JAR e i file delle risorse devono essere decompressi per funzionare e Android non può decomprimere i file video dall'APK.

Problemi correlati