无法从图库/图书馆中选择视频 - phonegap / cordova

时间:2015-06-10 10:12:12

标签: javascript cordova windows-phone cordova-plugins

我正在使用Windows Phone,cordova / phonegap。 如何从画廊中选择视频,因为它是一张照片?

官方插件似乎只适用于图片。

以下是代码:

function getVideo() {
    var options = { quality: 80 };
    options["sourceType"] = 0 | 2; 
    options["mediaType"] = 1;
    navigator.camera.getPicture(onVideoSuccess, onFail, options);    
}


var onVideoSuccess = function (fileuri) {
    console.log("fileuri " + fileuri);
}


var onFail = function (err) {
    console.log("onFail");
}

这样我只能选择图片,我可以更改任何参数来选择视频文件吗?

由于

2 个答案:

答案 0 :(得分:2)

这适用于Cordova 5.4.1

navigator.camera.getPicture(onSuccess, onFail, { quality: 100,
    destinationType: Camera.DestinationType.FILE_URI,
    sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
    mediaType: Camera.MediaType.VIDEO
  });

相关文档:https://www.npmjs.com/package/cordova-plugin-camera#module_Camera.DestinationType

更新 - 我接回来了,它适用于在用户界面中选择视频,但是我无法让FILE_URI处理程序中的onSuccess得到任何空的内容字符串,所以在他们选择视频后我什么也做不了。

答案 1 :(得分:1)

找到它需要一些时间,但确实可以通过设置MediaType。

var pictureSource; 
var destinationType; 
var mediaType;

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    pictureSource = navigator.camera.PictureSourceType;
    destinationType = navigator.camera.DestinationType;
    mediaType = navigator.camera.MediaType;
}

navigator.camera.getPicture(onPhotoURISuccess, onFail, {
    destinationType: destinationType.FILE_URI,
    mediaType: mediaType.VIDEO,
    sourceType: source
});

function onPhotoURISuccess(imageURI) {
    console.log(imageURI);
}

function onFail(message) {
    console.log(message);
}

在这个答案中找到它:Pick an image / video using PhoneGap in Android 更多信息:http://docs.phonegap.com/en/1.4.0/phonegap_camera_camera.md.html#Camera

供参考:

Camera.MediaType = { 
    PICTURE: 0,             // allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType
    VIDEO: 1,               // allow selection of video only, WILL ALWAYS RETURN FILE_URI
    ALLMEDIA : 2            // allow selection from all media types

因此,在您的代码中,您应该更改

options["sourceType"] = 0 | 2; 

为:

options["sourceType"] = 1;

仅选择视频,或者选择:

options["sourceType"] = 0;

仅选择照片,或者选择:

options["sourceType"] = 2; 

选择两者。