capture.captureVideo
开启视频录制应用程序,返回采集到的视频剪辑文件信息。
navigator.device.capture.captureVideo( CaptureCB captureSuccess, CaptureErrorCB captureError, [CaptureVideoOptions options] );
该方法通过设备的视频录制应用程序开始一个异步操作以采集视频录制。该操作允许设备用户在一个会话中同时采集多个视频录制。
当用户退出视频录制应用程序,或系统到达CaptureVideoOptions的limit参数所定义的最大录制数时都会停止采集操作。如果没有设置limit参数的值,则使用其默认值1,也就是说当用户录制到一个视频剪辑后采集操作就会终止。
当采集操作结束后,系统会调用CaptureCB回调函数,传递一个包含每个采集到的视频剪辑文件的MediaFile对象数组。如果用户在完成一个视频剪辑采集之前终止采集操作,系统会调用CaptureErrorCB回调函数,并传递一个包含CaptureError.CAPTURE_NO_MEDIA_FILES错误代码的CaptureError对象。
下面一个例子代码:
<!DOCTYPE html>
<html>
<head>
<title>capture.captureAudio</title>
<script type="text/javascript" charset="utf-8" src="js/cordova-2.6.0.js"></script>
<script type="text/javascript" charset="utf-8">
//captureVideo方法成功执行后回调函数
function captureSuccess(mediaFiles) {
var i, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
//对应的逻辑内容 }
}
//captureVideo方法执行失败后回调函数
function captureError(error) {
var msg = 'An error occurred during capture: ' + error.code;
navigator.notification.alert(msg, null, 'Uh oh!');
}
function captureVideo() {
navigator.device.capture.captureVideo(captureSuccess, captureError, {limit: 2});
}
</script>
</head>
<body>
<h1>capture.captureImage</h1><br/>
<button onclick="captureVideo();">Capture Video</button> <br>
</body>
</html>
截图如下: