怎么用 phoneGap 做个html5的录音上传效果啊?我找了个例子cordovajs文件,但是在引用的例子里面老是报错说navigator.device.capture undefined!!! 我很急的,有木有大神教教我!
例子入下:
<!DOCTYPE html>
<html>
<head>
<title>capture.captureAudio</title>
<script type="text/javascript" charset="utf-8" src="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 onclick="captureAudio();">Capture Audio</button> <br>
</body>
</html>
首先你的先确保你安装了这个媒体捕获插件,文件操作的相关插件,具体安装方法你去官网API看看,而且你这代码需要写在监听函数onDeviceReady里边,即document.addEventListener("deviceready", onDeviceReady, false),对了,我研究过这个,这个录音捕获插件只是调取了系统的录音功能,得到的文件再进处理(如媒体插件可以对其今夕播放、暂停等等,文件管理插件可以进行上传),而不能像微信那样子按住立刻就录音松开就发送,这个恐怕要自己去封装了。