uni-app 使用plus.audio.getRecorder()录音时提示错误 [Object] {"code":1,"message":"参数错误"}
uni-app 使用plus.audio.getRecorder()录音时提示错误 [Object] {“code”:1,“message”:“参数错误”}
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | windows 10 | HBuilderX |
示例代码:
r=plus.audio.getRecorder();
if ( r == null ) {
alert( "Device not ready!" );
return;
}
r.record({ filename:"_doc/audio/jddc/",
format:"mp3" }, function(p){
console.log('录音完成:'+p);
// audio_src = p;
}, function(e){
console.log(e);
console.log('录音失败:'+e.message);
});
操作步骤:
- 授权录音后,无法录音
预期结果:
- 可以录音
实际结果:
- 不可以录音
bug描述:
使用plus.audio.getRecorder()录音,提示错误 [Object] {“code”:1,“message”:“参数错误”}
更多关于uni-app 使用plus.audio.getRecorder()录音时提示错误 [Object] {"code":1,"message":"参数错误"}的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
IOS版本14.4不可以。
更多关于uni-app 使用plus.audio.getRecorder()录音时提示错误 [Object] {"code":1,"message":"参数错误"}的实战教程也可以访问 https://www.itying.com/category-93-b0.html
根据你提供的代码和错误信息,问题主要出现在record
方法的filename
参数格式上。filename
应该指定完整的文件路径,包括文件名和扩展名,而不仅仅是目录路径。
以下是修改建议:
1. 修正filename参数格式:
r.record({
filename: "_doc/audio/jddc/record.mp3", // 添加具体文件名
format: "mp3"
}, function(p){
console.log('录音完成:'+p);
}, function(e){
console.log('录音失败:'+e.message);
});
2. 确保目录存在: 在录音前可以先创建目录:
plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs){
fs.root.getDirectory('audio/jddc', {create: true}, function(dir){
console.log('目录创建成功');
});
});
3. 检查权限配置: 在manifest.json中确认已添加录音权限:
{
"permissions": {
"Audio": {
"description": "录音权限"
}
}
}
4. 完整示例代码:
// 获取录音对象
let r = plus.audio.getRecorder();
if (!r) {
alert("Device not ready!");
return;
}
// 开始录音
r.record({
filename: "_doc/audio/jddc/record.mp3",
format: "mp3"
}, function(p){
console.log('录音完成:' + p);
}, function(e){
console.log('录音失败:' + e.message);
});