10

我需要在基于 PhoneGap 2.7 的应用中播放视频。是否有可能使 iO 和 Android 都适用 - 涵盖当今大多数 Android 设备?

最好从本地位置播放视频文件,以便视频文件实际上是应用程序的一部分。(其他视频文件可以在播放前下载并保存。)

4

5 回答 5

10

您可以使用HTML5 video tag在应用程序内播放视频。

video 标签在 Cordova 应用程序中使用时(尤其是在 Android 设备上)有一些怪癖,但它的支持在较新版本的 Cordova 中得到了很大改进,因此请确保您的目标是最新版本。

于 2013-08-30T04:55:07.687 回答
5

我知道这是一个老问题,但它仍然出现在搜索中。

根据我的研究,对于在 Cordova 应用程序中播放视频,目前最好使用的插件是:

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

这在本机播放器中播放本地或流式视频,是可配置的,并且保持最新。

请注意,HTML5 视频在 Android 版本上确实有奇怪的怪癖,并且在 iPhone(但不是 iPad)上,无论如何,视频都会自动在本机 iPhone 播放器中播放,这使得 HTML5 视频标签成为一个糟糕的选择恕我直言,如果你想拥有应用程序中的视频。

于 2016-10-28T06:04:10.983 回答
3

还有另一种在 iOS 设备上播放视频的选项。使用cordova-plugin-streaming-media

这是此插件与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);
}

祝你好运!

于 2016-04-12T12:44:53.473 回答
2

你可以使用这个插件

科尔多瓦插件添加https://github.com/ednasgoldfishuk/VideoThumbnail.git

用代码

cordova.plugins.videoPlayer.play("file:///android_asset/www/resources/loading/your_video.mp4");
于 2014-05-06T14:18:17.827 回答
1

在 iOS 上,您可以使用 HTML5 video 标签来播放本地文件,但在 Android 上这是不可能的。

我建议使用 macdonst 的 PhoneGap 的 VideoPlayer 插件

https://github.com/macdonst/VideoPlayer

此外,这里有一些示例代码,可以让您在安装插件后开始使用。

<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>

来源: https ://gist.github.com/macdonst/1507162

于 2013-09-03T00:20:34.467 回答