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);
});
回到顶部