快十二点了,马上就睡觉了,简单写一下,记录一下以后自己查的时候也方便.
Capture主要是提供对设备音频、图像和视频采集功能的访问.其中capture.captureAudio是对音频设备的访问,就是指的录音功能.
capture.captureAudio
启动录音机应用程序并返回采集的音频剪辑文件。
navigator.device.capture.captureAudio(CaptureCB captureSuccess,
CaptureErrorCB captureError, [CaptureAudioOptions options] );
该方法通过设备默认的音频录制应用程序开始一个异步操作以采集音频录制。该操作允许设备用户在一个会话中同时采集多个录音。
当用户退出音频录制应用程序,或系统到达CaptureAudioOptions的limit参数所定义的最大录制数时都会停止采集操作。如果没有设置limit参数的值,则使用其默认值1,也就
是说当用户录制好一个音频剪辑后采集操作就会终止。
当采集操作结束后,系统会调用CaptureCB回调函数,传递一个包含所有采集到的音频剪辑文件的MediaFile对象数组。如果用户在完成一个音频剪辑采集之前终止采集操作,
系统会调用CaptureErrorCB回调函数,并传递一个包含CaptureError.CAPTURE_NO_MEDIA_FILES错误代码的CaptureError对象。
CaptureAudioOptions options
limit:在单个采集操作期间能够记录的音频剪辑数量最大值,必须设定为大于等于1(默认值为1)。
drration:一个音频剪辑的最长时间,单位为秒。
mode:选定的音频模式,必须设定为capture.supportedAudioModes枚举中的值。
简单例子代码如下:
<!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">
//captureAudio方法成功执行后回调函数
function captureSuccess(mediaFiles) {
var i, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
//业务逻辑
navigator.notification.alert(mediaFiles[i].fullPath + " " +mediaFiles[i].name);
}
}
//captureAudio方法执行失败后回调函数
function captureError(error) {
var msg = 'capture 发生错误: ' + error.code;
navigator.notification.alert(msg, null, 'Uh oh!');
}
function captureAudio() {
// limit 录制的音频数
navigator.device.capture.captureAudio(captureSuccess, captureError, {limit: 1});
}
</script>
</head>
<body>
<h1>capture.captureAudio</h1><br/>
<button οnclick="captureAudio();">Capture Audio</button> <br>
</body>
</html>
运营如图:
按钮点击后:
录音结束后:
简单记录,只是为了以后自己查找的时候比较方便.