gpt4 book ai didi

android - 捕获音频 Phonegap 错误代码 3

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:41 24 4
gpt4 key购买 nike

我正在创建一个带有录音的应用程序,我试图实现这个示例代码: http://docs.phonegap.com/en/3.3.0/cordova_media_capture_capture.md.html#capture.captureAudio

但是当单击按钮时出现错误:代码错误 3。根据文档,当您在录制任何内容之前退出录制应用程序时会出现此错误,但是当我单击按钮时,录制应用程序不会启动它直接进入误差函数。

捕获视频效果很好。

在 Phonegap Build 中使用 Phonegap 3.0.0 或 2.9.0。

代码:

<!DOCTYPE html>
<html>
<head>
<title>Capture Audio</title>

<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8" src="json2.js"></script>
<script type="text/javascript" charset="utf-8">

// Called when capture operation is finished
//
function captureSuccess(mediaFiles) {
var i, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
uploadFile(mediaFiles[i]);
}
}

// Called if something bad happens.
//
function captureError(error) {
var msg = 'An error occurred during capture: ' + error.code;
navigator.notification.alert(msg, null, 'Uh oh!');
}

// A button will call this function
//
function captureAudio() {
// Launch device audio recording application,
// allowing user to capture up to 2 audio clips
navigator.device.capture.captureAudio(captureSuccess, captureError, {limit: 2});
}

// Upload files to server
function uploadFile(mediaFile) {
var ft = new FileTransfer(),
path = mediaFile.fullPath,
name = mediaFile.name;

ft.upload(path,
"http://my.domain.com/upload.php",
function(result) {
console.log('Upload success: ' + result.responseCode);
console.log(result.bytesSent + ' bytes sent');
},
function(error) {
console.log('Error uploading file ' + path + ': ' + error.code);
},
{ fileName: name });
}

</script>
</head>
<body>
<button onclick="captureAudio();">Capture Audio</button> <br>
</body>

最佳答案

这不是您问题的确切答案,而是一个可行的替代方案。

我没有使用 org.apache.cordova.media-capture,而是尝试了 org.apache.cordova.media

这是一个小例子:

function recordAudio() {
var src = "myrecording.amr";
var mediaRec = new Media(src,
// success callback
function() {
console.log("recordAudio():Audio Success");
},

// error callback
function(err) {
console.log("recordAudio():Audio Error: "+ err.code);
});

// Record audio
mediaRec.startRecord();

// Stop recording after 10 seconds
setTimeout(function() {
mediaRec.stopRecord();
}, 10000);
}

不幸的是,每个设备都使用自己的音频编解码器,对于 Android,它是 AMR 编解码器。我能够使用 MPC (Windows) 收听录音.但是如果你想上传文件并与其他用户共享,你必须 convert it .

如果您没有找到 myrecording.amr 文件:它位于设备的根目录中。我没有弄清楚如何将文件临时存储在现有的应用程序缓存文件夹中。

10 秒的录音大小 < 20kb。

AMR 8000Hz mono 12kbps [Audio]

这是非常糟糕的质量。不幸的是,似乎无法提高质量。

关于android - 捕获音频 Phonegap 错误代码 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21099415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com