2014-04-21 14 views
6

Buduję aplikację w Kordowie, gdzie pierwsza strona aplikacji zawiera tag wideo ustawiony na automatyczne odtwarzanie. Nie dostaję żadnych błędów 404 podczas ładowania pliku ... Plik po prostu nie będzie odtwarzany. Film jest po prostu czarny z czasem trwania 0:00, który się nie zmienia.Lokalne pliki wideo nie będą odtwarzane w aplikacji Cordova Android

Dziwne jest to, że dostaję dwa żądania sieciowe w zdalnych narzędziach Chrome do pliku wideo: pierwszy pokazuje status (sukces), a drugi ma status (anulowany). Próbowałem użyć dwóch różnych adresów URL dla pliku:

file: ///android_asset/www/video/nameofmyvideo.mp4 z plikiem wideo faktycznie w /www/video/nameofmyvideo.mp4.

i

android.resource: // nazwapakietu/raw/nameofmyvideo z plikiem wideo rzeczywiście w/www/RES/raw/nameofmyvideo i/platform/android/RES/raw/nameofmyvideo

I "Bieżę najnowszą cordova (3.4.1-0.1.0) i testuję na ogniu rozpalonym CM-11 (4.4.2).

Oto znaczniki Używam:

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

LUB

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

Czy jest to kwestia pathing android? Aplikacja działa bez zarzutu w systemie iOS. Próbowałem też używać webm, bez powodzenia.

edit:

Ponadto wydaje się, że problem podwójne obciążenie sieci (jeden sukces, jeden anulowany) dzieje się niezależnie od tego, czy plik może faktycznie załadować. Załadowałam ten sam plik MP4 przez http hostowany na mojej stronie, a wideo grało dobrze (ale nadal pokazywało obie prośby).

+0

Co jeśli usunąć px, o czym wspomniałem? – nicael

+0

Niestety, nie. Próbowałem bez px, z procentami i bez wyraźnej szerokości lub wysokości. Wciąż nie ma szczęścia. – zigzackattack

+0

Wszystko, co mogę powiedzieć, wydaje się być problemem z uprawnieniami do plików. Zdalne adresy URL za pośrednictwem HTTP działają bez zarzutu, a wtyczki korzystające z adresu URL android.resource, aby przenieść i uzyskać lokalny dostęp do pliku wideo, zwracają 404. Czy brakuje mi czegoś w moim pliku config.xml? – zigzackattack

Odpowiedz

0

Powinien być autoplay zamiast autoplay="" i controls zamiast controls="". I usunąć px: width="400" height="300"

+0

Przepraszam, to jest to, co mam. Chrome dodał = "" do obu, a następnie skopiowałem i wkleiłem. Będę edytować mój post. – zigzackattack

+0

@zigzackattack Edytowane – nicael

0

Może spróbuj dodać load na tagu wideo:

<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

Jego nie można odczytać obrazu z aktywów wewnątrz folder na android, trzeba umieścić go gdzieś poza aplikacji sdcard lub zdalnie. To dlatego, że plik APK jest skompresowany JAR, a pliki w zasobach muszą zostać zdekompresowane do działania, a system Android nie może rozpakować plików wideo z pakietu APK.

Powiązane problemy