如何使用jquery和phonegap将视频转换为base64

时间:2014-03-04 10:12:37

标签: javascript jquery html5 cordova html5-canvas

在这里,我使用phonegap在JavaScript中编写代码,但无法在base64中获取视频数据

function captureVideo() 
{

    navigator.device.capture.captureVideo(captureSuccess, captureError, {limit: 1});
}

function captureSuccess(mediaFiles)
{

    console.log(JSON.stringify(mediaFiles));
    console.log("HERE I WANT BASE64 CODE");

}

1 个答案:

答案 0 :(得分:0)

要从视频帧中获取数据uri,您必须首先将其绘制到canvas元素上(以及确保满足CORS要求)。

我对科尔多瓦并不熟悉,但希望这会让你朝着正确的方向前进:

// create a canvas element
var canvas = document.createElement('canvas'),     // canvas
    ctx = canvas.getContext('2d'),                 // context
    video = document.getElementById('myVideoId');  // get video element somehow

// setup canvas dimension
canvas.width = video.videoWidth || video.width;
canvas.height = video.videoHeight || video.height;

// draw in current video frame
ctx.drawImage(video, 0, 0, canvas.width, canvas.height);

// extract data-uri
var dataUri = canvas.toDataURL();  // PNG is default, use image/jpeg for JPEG

如果您需要多次执行此操作,则只需设置一次画布,并在需要框架时使用drawImage / toDataURL来电。

希望这有帮助!