1

我一直在寻找这个问题,但似乎找不到任何解决方案!

当用户单击我的 Android PhoneGap 应用程序中的 div 时,我试图打开 MP4 视频,但经过进一步研究,我发现 HTML5 视频标签不受支持,并被告知从此处下载插件调用 VideoPlayer。

https://github.com/macdonst/VideoPlayer

当我运行这个插件时,我得到了与 VideoPlayer.java 文件的几个部分相关的错误。

我已经尝试添加一些插件代码,但仍然没有出现任何视频。

这个插件是否与最新版本的 PhoneGap 不兼容,如果不兼容,是否有任何 Java 专家可以帮助我弄清楚如何让它在 Phonegap 下本地运行?

我收到两个主要错误和一些警告,如下所示:

在此处输入图像描述

该错误似乎与此行有关:

URLConnection con = new URL(url).openConnection();

我试图删除那段代码(因为不是要从 YT 加载视频,而是从我的本地资产加载视频),但让视频播放仍然没有乐趣。

config.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<!--
       Licensed to the Apache Software Foundation (ASF) under one
       or more contributor license agreements.  See the NOTICE file
       distributed with this work for additional information
       regarding copyright ownership.  The ASF licenses this file
       to you under the Apache License, Version 2.0 (the
       "License"); you may not use this file except in compliance
       with the License.  You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

       Unless required by applicable law or agreed to in writing,
       software distributed under the License is distributed on an
       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
       KIND, either express or implied.  See the License for the
       specific language governing permissions and limitations
       under the License.
-->
<cordova>
    <!--
    access elements control the Android whitelist.
    Domains are assumed blocked unless set otherwise
     -->

    <access origin="http://127.0.0.1*"/> <!-- allow local pages -->

    <!-- <access origin="https://example.com" /> allow any secure requests to example.com -->
    <!-- <access origin="https://example.com" subdomains="true" /> such as above, but including subdomains, such as www -->
    <access origin=".*"/>

    <log level="DEBUG"/>
    <preference name="useBrowserHistory" value="true" />
    <preference name="exit-on-suspend" value="false" />
<plugins>
    <plugin name="App" value="org.apache.cordova.App"/>
    <plugin name="Geolocation" value="org.apache.cordova.GeoBroker"/>
    <plugin name="Device" value="org.apache.cordova.Device"/>
    <plugin name="Accelerometer" value="org.apache.cordova.AccelListener"/>
    <plugin name="Compass" value="org.apache.cordova.CompassListener"/>
    <plugin name="Media" value="org.apache.cordova.AudioHandler"/>
    <plugin name="Camera" value="org.apache.cordova.CameraLauncher"/>
    <plugin name="Contacts" value="org.apache.cordova.ContactManager"/>
    <plugin name="File" value="org.apache.cordova.FileUtils"/>
    <plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager"/>
    <plugin name="Notification" value="org.apache.cordova.Notification"/>
    <plugin name="Storage" value="org.apache.cordova.Storage"/>
    <plugin name="FileTransfer" value="org.apache.cordova.FileTransfer"/>
    <plugin name="Capture" value="org.apache.cordova.Capture"/>
    <plugin name="Battery" value="org.apache.cordova.BatteryListener"/>
    <plugin name="SplashScreen" value="org.apache.cordova.SplashScreen"/>
    <plugin name="Echo" value="org.apache.cordova.Echo" />
    <plugin name="Globalization" value="org.apache.cordova.Globalization"/>
    <plugin name="VideoPlayer" value="com.phonegap.plugins.video.VideoPlayer"/>
</plugins>
</cordova>
4

1 回答 1

4

不要删除任何代码块。

我尝试使用相同的插件代码,它对我有用。

保留该VideoPlayer.java文件,因为它是与插件一起下载的,只需按此即可ctr+shift+O 导入此插件文件所需的相关包。

然后更改您的视频通话命令,

window.plugins.videoPlayer.play("file:///android_asset/www/res/videos/1.mp4");

使用 Cordova 2.2 第 3 步指令将更改为,

[3]   In your res/xml/config.xml file add the following line:

    <plugin name="VideoPlayer" value="com.phonegap.plugins.video.VideoPlayer"/>

这对我有用。

如果您仍然面临问题,请告诉我。

谢谢。

于 2013-01-03T10:16:48.943 回答