我需要能够从库中选择一个视频并将其上传到我的服务器。
我可以录制一个新视频(captureVideo)并上传它(filetransfer)没问题,但我似乎找不到任何方法打开视频库并选择一个视频然后上传它。
有没有办法做到这一点?以某种方式更改MediaType navigator.camera.getPicture?
感谢任何帮助,提前谢谢
Nilesh制作
答案 0 :(得分:0)
我们解决了这个问题如下:
function ideaCommitLibraryVideoAttach() {
if(PhoneGap.available) {
var options = {quality: 80};
options["sourceType"] = 0;
options["correctOrientation"] = true;
options["allowEdit"] = true;
options["mediaType"] = 1;
navigator.camera.getPicture(ideaCommitLibraryVideoReceive, ideaCommitVideoAttachFail, options);
}
}
function ideaCommitLibraryVideoReceive(data) {
if(PhoneGap.available) {
var gotFS = function(fileSystem) {
var fail = function() {notify("Can't open file!");};
var gotFileEntry = function(fileEntry) {
var fail = function() {notify("Can't write attachment in a temporary file!");};
var gotFileWriter = function(fileWriter) {
fileWriter.onwriteend = function(evt) {
ideaCommitVideoReceive([fileEntry]);
};
fileWriter.write(data);
};
fileEntry.createWriter(gotFileWriter, fail);
file = fileEntry;
};
fileSystem.root.getFile("y"+ new Date().getTime()+".mp4", {create: true, exclusive: false}, gotFileEntry, fail);
};
var fail = function() {notify("Can't open file system!");};
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}
}
唯一剩下的问题如下:我们没有找到一种方法来访问视频作为文件,但只是作为base64编码。因此,在从App内部选择视频后,我们无法为用户提供预览可能性。有没有人知道如何解决这个问题?
答案 1 :(得分:0)
从库或最近捕获中预览元素的最简单方法是使用本机
html5视频,图片或音频标签,其中uri在getPicture成功调用中返回,
capturePicture,captureVideo或captureAudio ...希望它有所帮助。