Neil Young
Neil Young

Reputation: 556

Cordova Phonegap 2.2.0 VideoPlayer Plugin

I have been looking around for ages on this but cannot seem to find any solution!

I am trying to have MP4 videos open when a user clicks a div in my Android PhoneGap applications but after further research I found that the HTML5 video tag is not supported and was told to download a plugin call VideoPlayer from here.

https://github.com/macdonst/VideoPlayer

When I run this plugin I get errors relating to several parts of the VideoPlayer.java file.

I have tried adpating some of the plugin code but still do not get any video come up.

Is this plugin not compatible with the latest version of PhoneGap and if not are there any Java gurus that can help me figure out how to get it running natively under Phonegap ?

I get two main errors and some warnings which are shown below:

enter image description here

The error seems to relate to this line:

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

I have tried to remove that chunk of code (as not looking to load videos from YT but from my local assets) but still no joy getting the video to play.

The config.xml file:

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

Upvotes: 2

Views: 5691

Answers (1)

Pratik Sharma
Pratik Sharma

Reputation: 13415

Dont remove any chunk of code.

I tried with the same plugin code and it is working for me.

Keep that VideoPlayer.java file as it is downloaded with plugin and just press ctr+shift+O this will import required and relevant packages for this plugin file.

Then change your video calling command with,

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

with Cordova 2.2 3rd step instruction will change to,

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

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

This works for me.

Let me know if there is still issues you are facing.

Thanks.

Upvotes: 4

Related Questions