1

Android VideoView を使用してビデオ コントロールなしで全画面ビデオを再生する PhoneGap プラグインを作成しようとしています。しかし、うまくいかないようです。プラグイン関数を呼び出しても何もしません。私は何か間違ったことをしていますか?またはこれは可能ですか?

package com.phonegap.plugins.video;

import org.json.JSONArray;
import org.json.JSONException;

import android.net.Uri;

import org.apache.cordova.api.Plugin;
import org.apache.cordova.api.PluginResult;

import android.widget.VideoView;

public class VideoPlayer extends Plugin {

    @Override
    public PluginResult execute(String action, JSONArray args, String callbackId) {

        final Plugin that = this;
        final String id = callbackId;

        super.cordova.getActivity().runOnUiThread(new Runnable() {
            //@Override
            public void run() {
                    VideoView videoHolder = new VideoView(cordova.getActivity().getApplicationContext());
                    //setContentView(videoHolder);
                    videoHolder.setVideoURI(Uri.parse("file:///sdcard/Android/data/MyApp/v2.mp4"));
                    videoHolder.requestFocus();
                    videoHolder.start();
                    that.success(new PluginResult(PluginResult.Status.OK), id);
            }
        });

        PluginResult result = new PluginResult(PluginResult.Status.NO_RESULT);
        result.setKeepCallback(true);
        return result;
    }
}

私の JavaScript は次のようになります。

function VideoPlayer() {
};


VideoPlayer.prototype.play = function(url) {
    cordova.exec(null, null, "VideoPlayer", "playVideo", [url]);
};


if(!window.plugins) {
    window.plugins = {};
}
if (!window.plugins.videoPlayer) {
    window.plugins.videoPlayer = new VideoPlayer();
}

以下のように関数を呼び出しています。

<a href='#' onclick='javascript:window.plugins.videoPlayer.play("file:///sdcard/Android/data/MyApp/v2.mp4");'>Bismillah</a>
4

1 に答える 1