Camera Document

camera

Camera模块管理设备的摄像头,可用于拍照、摄像操作,通过plus.camera获取摄像头管理对象。

方法:

对象:

回调方法:

权限:

permissions

"Camera": {
	"description": "访问摄像头设备"
}
			

getCamera

获取摄像头管理对象

Camera plus.camera.getCamera( index );
				

说明:

获取需要操作的摄像头对象,如果要进行拍照或摄像操作,需先通过此方法获取摄像头对象。

参数:

返回值:

Camera : 摄像头对象

平台支持:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Camera Example</title>
	<script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
var r = null; 
// 扩展API加载完毕,现在可以正常调用扩展API 
function onPlusReady() {
	// 获取设备默认的摄像头对象 
	var cmr = plus.camera.getCamera();
	// ...... 
}
	</script>
	</head>
	<body>
	</body>
</html>
				

Camera

摄像头对象

interface Camera {
	readonly attribute DOMString[] supportedImageResolutions;
	readonly attribute DOMString[] supportedVideoResolutions;
	readonly attribute DOMString[] supportedImageFormats;
	readonly attribute DOMString[] supportedVideoFormats;
	function void captureImage( successCB, errorCB, option );
	function void startVideoCapture( successCB, errorCB, option );
	function void stopVideoCapture();
}
				

属性:

方法:

supportedImageResolutions

字符串数组,摄像头支持的拍照分辨率

说明:

Array 类型 只读属性

属性类型为DOMString[],若不支持此属性则返回空数组对象。摄像头支持的拍照图片分辨率字符串形式“WIDTH*Height”,如“400*800”;如果支持任意自定义分辨率则“*”。

平台支持:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Camera Example</title>
	<script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API 
function onPlusReady() {
	var cmr = plus.camera.getCamera();
	alert( "Camera supperted image resolutions: " + cmr.supportedImageResolutions );
}
	</script>
	</head>
	<body>
	</body>
</html>
						

supportedVideoResolutions

字符串数组,摄像头支持的摄像分辨率

说明:

Array 类型 只读属性

属性类型为String[],若不支持此属性则返回空数组对象。摄像头支持的视频分辨率字符串形式为“WIDTH*Height”,如“400*800”;如果支持任意自定义分辨率则“*”。

平台支持:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Camera Example</title>
	<script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API 
function onPlusReady() {
	var cmr = plus.camera.getCamera();
	alert( "Camera supperted image resolutions: " + cmr.supportedImageResolutions );
}
	</script>
	</head>
	<body>
	</body>
</html>
						

supportedImageFormats

字符串数组,摄像头支持的拍照文件格式

说明:

Array 类型 只读属性

属性类型为String[],若不支持此属性则返回空数组对象。摄像头支持的图片文件格式字符串形式为文件格式后缀名,如“jpg”、“png”、“bmp”。

平台支持:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Camera Example</title>
	<script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API 
function onPlusReady() {
	var cmr = plus.camera.getCamera();
	alert( "Camera supperted image formats: " + cmr.supportedImageFormats );
}
	</script>
	</head>
	<body>
	</body>
</html>
						

supportedVideoFormats

字符串数组,摄像头支持的摄像文件格式

说明:

Array 类型 只读属性

属性类型为String[],若不支持此属性则返回空数组对象。摄像头支持的视频文件格式字符串形式为文件格式后缀名,如“3gp”、“mp4”、“avi”。

平台支持:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Camera Example</title>
	<script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
// 扩展API加载完毕,现在可以正常调用扩展API 
function onPlusReady() {
	var cmr = plus.camera.getCamera();
	alert( "Camera supperted video formats: " + cmr.supportedVideoFormats );
}
	</script>
	</head>
	<body>
	</body>
</html>
						

captureImage

进行拍照操作

cmr.captureImage( successCB, errorCB, option );
						

说明:

摄像头资源为独占资源,如果其它程序或页面已经占用摄像头,再次操作则失败。 拍照操作成功将通过successCB返回拍照获取的图片路径。 可通过option设置摄像头的各种属性参数。

参数:

返回值:

void : 无

平台支持:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Camera Example</title>
	<script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
var r = null; 
// 扩展API加载完毕,现在可以正常调用扩展API 
function onPlusReady() {
	var cmr = plus.camera.getCamera();
	var res = cmr.supportedImageResolutions[0];
	var fmt = cmr.supportedImageFormats[0];
	cmr.captureImage( function( path ){
			aletr( "Capture image success: " + path );  
		},
		function( error ) {
			alert( "Capture image failed: " + error.message );
		},
		{resolution:res,
			format:fmt
		}
	);
}
	</script>
	</head>
	<body>
	</body>
</html>
						

startVideoCapture

调用摄像头进行摄像操作

cmr.startVideoCapture( successCB, errorCB, option );
						

说明:

摄像头资源为独占资源,如果其它程序或页面已经占用摄像头,再次操作则失败。 拍照操作成功将通过successCB返回摄像获取的视频文件路径。 可通过option设置摄像头的各种属性参数。

参数:

返回值:

void : 无

平台支持:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Camera Example</title>
	<script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
var r = null; 
// 扩展API加载完毕,现在可以正常调用扩展API 
function onPlusReady() {
	var cmr = plus.camera.getCamera();
	var res = cmr.supportedVideoResolutions[0];
	var fmt = cmr.supportedVideoFormats[0];
	cmr.startVideoCapture( function( path ){
			aletr( "Capture video success: " + path );  
		},
		function( error ) {
			alert( "Capture video failed: " + error.message );
		},
		{resolution:res,
			format:fmt
		}
	);
}
	</script>
	</head>
	<body>
	</body>
</html>
						

stopVideoCapture

结束摄像操作

cmr.stopVideoCapture();
						

说明:

开始调用摄像头进行摄像操作后,可在后台结束摄像操作,与用户在界面结束操作效果一致。 摄像操作成功将通过startVideoCapture函数中的successCB返回拍照获取的图片路径。 用户如果没有进行摄像操作关闭摄像头页面则调用失败回调函数。

参数:

返回值:

void : 无

平台支持:

示例:

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>Camera Example</title>
	<script type="text/javascript">
// 扩展API加载完毕后调用onPlusReady回调函数 
document.addEventListener( "plusready", onPlusReady, false );
var r = null; 
// 扩展API加载完毕,现在可以正常调用扩展API 
function onPlusReady() {
	var cmr = plus.camera.getCamera();
	var res = cmr.supportedVideoResolutions[0];
	var fmt = cmr.supportedVideoFormats[0];
	cmr.startVideoCapture( function( path ){
			aletr( "Capture video success: " + path );  
		},
		function( error ) {
			alert( "Capture video failed: " + error.message );
		},
		{resolution:res,
			format:fmt
		}
	);

	// 拍摄10s后自动完成 
	setTimeout( function () {
		cmr.stopVideoCapture();
	}, 10000 );
}
	</script>
	</head>
	<body>
	</body>
</html>
						

CameraOption

JSON对象,调用摄像头的参数

interface CameraOption {
	attribute DOMString filename;
	attribute DOMString resolution;
	attribute DOMString format;
	attribute DOMString index;
	attribute PopPosition popover;
}
				

属性:

PopPosition

JSON对象,弹出拍照或摄像界面指示位置

属性:

CameraSuccessCallback

调用摄像头操作成功回调

void onSuccess( capturedFile ) {
	// Caputre image/video file code.
}
				

说明:

调用摄像头操作成功的回调函数,在拍照或摄像操作成功时调用,用于返回图片或视频文件的路径。

参数:

返回值:

void : 无

平台支持:

CameraErrorCallback

摄像头操作失败回调

void onError( error ) {
	// Handle camera error
}
				

参数:

返回值:

void : 无

平台支持: