【问题标题】:How to convert video to base64 using jquery and phonegap如何使用 jquery 和 phonegap 将视频转换为 base64
【发布时间】:2014-04-05 19:23:54
【问题描述】:

这里我使用 phonegap 用 Ja​​vaScript 编写了代码,但无法获取 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");

}

【问题讨论】:

  • 谢谢,但亲爱的,我想要 JavaScript 函数。
  • @UmerYounas 您如何将 mediaFile 放入 元素中,如下面的解决方案中所述?是ctx.drawImage的第一个参数。

标签: javascript jquery html cordova html5-canvas


【解决方案1】:

要从视频帧中获取 data-uri,您必须首先将其绘制到画布元素上(并确保满足 CORS 要求)。

我对 Cordova 不是很熟悉,但希望这会让您朝着正确的方向前进:

// 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 调用。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2021-12-10
    • 2022-01-28
    • 1970-01-01
    • 2021-03-18
    • 2017-05-19
    • 2015-09-18
    • 2019-01-24
    • 1970-01-01
    • 2012-01-16
    相关资源
    最近更新 更多