【发布时间】:2012-01-29 06:18:48
【问题描述】:
尝试使用 PhoneGap 创建一个入门应用。我被困在这条线上:
navigator.device.capture.captureAudio(onSuccess, onError, {limits:1, duration:5});
它在 iOS 上运行良好,但在 Android 模拟器上抛出此错误:
无法读取未定义的属性“捕获”
这里是 navigator 对象,发生错误时(注意没有导致此错误的 device 属性)
{
"language": "en-US",
"product": "Gecko",
"mimeTypes": {
"length": 0
},
"appVersion": "5.0 (Linux; U; Android 4.0.3; en-us; sdk Build/MR1) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
"plugins": {
"length": 0
},
"onLine": true,
"connection": {
"type": 0
},
"platform": "Linux armv7l",
"vendor": "Google Inc.",
"appCodeName": "Mozilla",
"geolocation": {},
"cookieEnabled": true,
"appName": "Netscape",
"productSub": "20030107",
"userAgent": "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; sdk Build/MR1) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
"vendorSub": ""
}
这是 Phonegap.js 加载后的 PhoneGap 对象(注意它是 device: true)
{
"commandQueue": [],
"commandQueueFlushing": false,
"_constructors": [
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
],
"documentEventHandler": {},
"windowEventHandler": {},
"resources": {
"base": true,
"debugconsole": true,
"position": true,
"acceleration": true,
"accelerometer": true,
"battery": true,
"camera": true,
"device": true,
"capture": true,
"contact": true,
"file": true,
"filetransfer": true,
"geolocation": true,
"compass": true,
"media": true,
"notification": true,
"orientation": true,
"sms": true,
"telephony": true,
"network": true,
"splashscreen": true
},
"available": false,
"sessionKey": 0,
"callbackId": 0,
"callbacks": {},
"callbackStatus": {
"NO_RESULT": 0,
"OK": 1,
"CLASS_NOT_FOUND_EXCEPTION": 2,
"ILLEGAL_ACCESS_EXCEPTION": 3,
"INSTANTIATION_EXCEPTION": 4,
"MALFORMED_URL_EXCEPTION": 5,
"IO_EXCEPTION": 6,
"INVALID_ACTION": 7,
"JSON_EXCEPTION": 8,
"ERROR": 9
},
"mediaObjects": {}
}
任何想法如何克服这个问题?
【问题讨论】:
-
您能否指向PhoneGap API 中描述
navigator.device对象以及PhoneGap 如何增强它的页面...? -
我是here
-
音频捕捉功能是否应该在模拟器上可用?在设备上测试,看看是否得到相同的结果
-
没有文档另有说明。模拟器中有一个语音记录器应用程序可以运行,所以我想除了 PhoneGap 的缺点之外,没有什么可以在技术上阻止它。
标签: javascript android cordova javascript-framework