web-dev-qa-db-fra.com

Lecture de vidéos dans PhoneGap/Cordova-app pour iOs et Android

Je dois lire des vidéos dans une application construite sur PhoneGap 2.7. Est-il possible de faire en sorte que cela fonctionne à la fois pour iOs et Android - couvrant la plupart des appareils Android actuels?

De préférence, le fichier vidéo doit être lu à partir d'un emplacement local, de sorte que le fichier vidéo fasse en réalité partie de l'application. (Et d'autres fichiers vidéo peuvent être téléchargés et sauvegardés avant d'être lus.)

10
Publicus

Vous pouvez utiliser HTML5 video tag pour lire une vidéo dans votre application. 

La balise vidéo présentait certaines bizarreries lorsqu'elle était utilisée dans l'application Cordova (en particulier sur les appareils Android), mais sa prise en charge est nettement améliorée dans les nouvelles versions de Cordova. Veillez donc à bien cibler la dernière version.

10
Arun Bertil

Je sais que c’est une vieille question, mais elle revient toujours dans les recherches.

Pour lire des vidéos dans une application Cordova, le meilleur plug-in à utiliser, d'après mes recherches, est:

https://github.com/nchutchind/cordova-plugin-streaming-media

Cela permet de lire des vidéos en local ou en streaming dans un lecteur natif, de les configurer et de les mettre à jour.

Notez que la vidéo HTML5 présente des bizarreries étranges sur la version Android et que sur un iPhone (mais pas sur un iPad), la vidéo sera automatiquement lue automatiquement sur le lecteur iPhone natif, ce qui fera de la balise vidéo HTML5 un mauvais choix, à mon humble avis. vidéo dans votre application.

5
kris

Il existe également une autre option permettant de lire une vidéo sur un périphérique iOS. Utilisez cordova-plugin-streaming-media .

Voici un exemple de code pour ce plugin permettant de lire un fichier multimédia d’application locale en coopération avec cordova-plugin-file .

var path = cordova.file.applicationDirectory + "www/media/video.mp4";
if (cordova.platformId == 'ios') {
    var options = {
        successCallback: function () {
            console.log("Video was closed without error.");
        },
        errorCallback: function (errMsg) {
            console.log("Error! " + errMsg);
        },
        orientation: 'landscape'
    };
    window.plugins.streamingMedia.playVideo(path, options);
}

Bonne chance!

3
Lentyai

vous pouvez utiliser ce plugin

cordova plugin add https://github.com/ednasgoldfishuk/VideoThumbnail.git

avec le code

cordova.plugins.videoPlayer.play("file:///Android_asset/www/resources/loading/your_video.mp4");
2
Loki Chandu

Sur iOS, vous pouvez utiliser la balise vidéo HTML5 pour lire des fichiers locaux, mais cela n’est pas possible sous Android.

Je vous recommande d'utiliser le plugin VideoPlayer pour PhoneGap de Macdonst.

https://github.com/macdonst/VideoPlayer

En outre, voici un exemple de code pour vous aider à démarrer une fois le plugin installé.

<body onload="javascript:init()">
<div class="app">
    <p><a href="#" onclick="playVideo('https://www.youtube.com/watch?v=gYOLV66XukY')">Play File</a><p/>
</div>
<script type="text/javascript" src="cordova-2.3.0.js"></script>
<script type="text/javascript" charset="utf-8" src="video.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
    app.initialize();

    function init()
    {
        document.addEventListener("deviceready", console.log('ready'), true);
    }

    function playVideo(vidUrl) 
    {
        window.plugins.videoPlayer.play(vidUrl);
    }
</script>

Source: https://Gist.github.com/macdonst/1507162

1
mrjohnsly