7
votes

Les fichiers vidéo locaux ne joueront pas dans l'application Cordova Android

Je construis une application à Cordoue où la première page de l'application contient une balise vidéo définie à la lecture automatique. Je ne reçois aucune erreur 404 charger le fichier ... Le fichier ne va pas jouer. La vidéo est juste noire avec une longueur de temps 0:00 qui ne change pas.

La chose étrange est que je reçois deux demandes de réseau dans les outils de développement de chrome pour le fichier vidéo: le premier indique un statut (succès) et la seconde a un statut (annulé). J'ai essayé d'utiliser deux URL différentes pour le fichier: p>

fichier: ///android_asset/www/video/nameofmyvideo.mp4 avec le fichier vidéo en réalité dans /ww/video/nameofmyvideo.mp4. p>

et p>

android.Resource: // mypackagename / brut / nomofmyvideo avec le fichier vidéo réellement dans / www / res / brut / namefmyvideo et / / plates-formes / Android / RES / RAW / NameOfmyVideo

Je suis en train d'exécuter la dernière Cordoue (3.4.1-0.1.0) et des tests sur un feu enfoncé CM-11 (4.4.2). P>

Voici le balisage i 'M Utilisation: P>

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


3 commentaires

Et si supprimer PX, comme je l'ai mentionné?


Malheureusement non. J'ai essayé sans px, avec des pourcentages et sans largeur ni taille explicite. Toujours pas de chance.


De tout ce que je peux dire, cela semble être un problème de permission de fichiers. URL distantes sur HTTP Travailler bien et les plugins utilisant l'URL Android.Resource pour déplacer et accéder au fichier vidéo Retour localement 404S. Est-ce que je manque quelque chose dans mon config.xml potentiellement?


4 Réponses :


0
votes

devrait être Autoplay au lieu de autooplay = "" et contrôles au lieu de contrôles = "" . Et supprimer px : largeur = "400" hauteur = "300"


2 commentaires

Désolé, c'est en fait ce que j'ai. Chrome a ajouté le = "" aux deux et j'ai copié et collé de là. Je vais éditer mon post.


@zigzackattack édité



0
votes

Peut-être essayer d'ajouter charger sur la balise vidéo: xxx


1 commentaires

Onklcik ? Et ps n'utilisez pas de JS en ligne



2
votes

SON NON PAS POSSIBLE DE LIRE LA VIDEO DE L'INTÉRIEUR DES ARTICS Dossier sur Android, vous devez le placer quelque part en dehors de l'application, SDCard ou à distance. C'est parce que APK est essentiellement du pot compressé et des fichiers dans les actifs doivent être décompressés au travail, et Android ne peut pas décompresser des fichiers vidéo d'APK.


0 commentaires

1
votes

Bien au cas où quelqu'un en a besoin, vous pouvez intégrer ci-dessous le code. Je l'ai essayé et cela fonctionne à la fois dans Android et iOS.

<object CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="100%" CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab">
                                <param name="src" value="{{filename}}">
                                <param name="qtsrc" value="{{filename}}">
                                <param name="autoplay" value="false">
                                <param name="loop" value="false">
                                <param name="controller" value="true">
                                <embed src="{{filename}}" qtsrc="{{filename}}" width="100%" autoplay="true" loop="false" controller="true" pluginspage="http://www.apple.com/quicktime/"></embed>
                            </object>


1 commentaires

C'est la seule réponse qui a fonctionné pour moi !! Je n'avais pas besoin du classid ou de la page CodeBase ou la page Plugins, mais cela a fonctionné pour moi sur Android. Merci beaucoup!