Phonegap - 如何在使用 Phonegap 的media.startRecord录制后上传音频文件
Phonegap - How can I upload an audio file after recording with Phonegap's media.startRecord
我已经用Phonegap完成了标准的录音:
function recordSound() {
var src = "mysound.mp3";
var mediaRec = new Media(src, onSuccess, onError);
// Record audio
mediaRec.startRecord();
// Stop recording after 10 sec
var recTime = 0;
var recInterval = setInterval(function() {
recTime = recTime + 1;
setAudioPosition(recTime + " sec");
if (recTime >= 10) {
clearInterval(recInterval);
mediaRec.stopRecord();
}
}, 1000);
}
我现在想上传这个文件(mysound.mp3),而不让用户选择自己。任何帮助将不胜感激。
到目前为止,我已经完成了:
function win(r) {
console.log("Code = " + r.responseCode);
console.log("Response = " + r.response);
console.log("Sent = " + r.bytesSent);
}
function fail(error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
function up() {// !! Assumes variable fileURI contains a valid URI to a text
// file on the device
var fileURI = "/mnt/sdcard/mysound.mp3";
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName=fileURI.substr(fileURI.lastIndexOf('/')+1);
options.mimeType = "audio/mp3";
var params = new Object();
params.value1 = "test";
params.value2 = "param";
options.params = params;
var ft = new FileTransfer();
ft.upload(fileURI, "http://myserver/upload.php", win, fail, options);
}
我得到:java.io.IOException: Received from server
和
JSCallback Error: Request failed
很高兴得到帮助。
您可以使用此功能上传文件
function uploadVoice(fileName, dirName, fileMime, uploadURL) {
var win = function (r) {
console.log("Code = " + r.responseCode);
console.log("Response = " + r.response);
console.log("Sent = " + r.bytesSent);
};
// upload failure
var fail = function(error) {
alert("An error has occurred: Code = " + error.code);
};
// file system fail
var fsFail = function(error) {
alert("failed with error code: " + error.code);
};
var dirFail = function(error) {
alert("Directory error code: " + error.code);
};
var fileURI;
var gotFileSystem = function (fileSystem) {
fileSystem.root.getDirectory(dirName, {
create: false
}, function (dataDir) {
fileURI = dataDir.fullPath;
fileURI = fileURI + '/' + fileName;
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = fileURI.substr(fileURI.lastIndexOf('/') + 1);
options.mimeType = fileMime;
var params = new Object();
params.value1 = "test";
params.value2 = "param";
options.params = params;
var ft = new FileTransfer();
ft.upload(fileURI, uploadURL, win, fail, options);
}, dirFail);
};
// get file system to copy or move image file to
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFileSystem, fsFail);
}
希望这有帮助
太好了。 真的对ios有帮助。
var 中的简单拼写错误失败修复如下。
var fail = function(error) {
alert("An error has occurred: Code = " + error.code);
};
相关文章:
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 将文件从应用程序文件夹复制到JQM/Phonegap应用程序中的根文件夹
- Phonegap文件上传:空请求正文和文件
- 如何使用 phonegap 文件 API 在该目录中创建目录和文件
- 使用 Phonegap 文件 API 获取所有文件名
- 加载正确的PhoneGap文件的最佳方法是什么
- PhoneGap文件编写器
- 在javascript的正常函数中访问phonegap文件API
- Phonegap文件传输没有'不起作用
- Phonegap文件传输-如何在加载文件时插入加载.gif
- PhoneGap文件传输损坏.mp3上传到服务器时
- 是否有一种方法可以将文件保存到设备(android或ios)内存,而无需在web应用程序中使用phonegap文件Api
- Phonegap文件传输下载
- 被困在Phonegap文件传输
- Cordova/Phonegap文件功能不起作用
- PhoneGap文件删除不起作用
- 在新线程中复制Phonegap文件
- Blackberry Webworks/Phonegap文件浏览器
- PhoneGap文件传输错误1,在哪里写FileTransfers
- Phonegap文件API没有返回正确的路径,只返回'/'