次のように我々はこの問題を解決:
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でのみエンコードされます。したがって、私たちは、アプリケーションの内部からビデオを選択した後、ユーザにプレビューの可能性を与えることはできません。誰かがこれを解決する方法のアイデアを持っていますか?
ちょっとChagemeiあなたのコードを説明できますか?私は何が起こっているのか知っていると思うが、それは私のために働いていないので、理由を理解する必要がある)関数ideaCommitVideoReceive([fileEntry] – SomethingOn