所以,我正在尝试通过cordova文件插件读取我刚刚保存在应用程序目录(Android)上的音频文件,但我一直得到相同的错误代码5,代表“ENCODING_ERR”。
这是我创建文件并开始录制的方式
start() {
this.filename = this.file.externalDataDirectory.replace(/file:\/\//g, '');
this.mediaobject = this.media.create(this.filename + 'audioprofile' + '.3gp');
this.mediaobject.startRecord();
}
这就是我停止录制和保存文件的方式
stop() {
this.mediaobject.stopRecord();
this.mediaobject.release();
...
这就是我被困住的地方:保存之后,我需要把它作为一个字符串,所以我试着读它(alert(content)
应该给我看那个字符串)
stop() {
this.mediaobject.stopRecord();
this.mediaobject.release();
this.storage.get("uid").then((id) => {
try{
this.file.readAsDataURL(this.filename,'audioprofile'+'.3gp').then((filecontent)=>{
alert(filecontent);
},(err)=>{
alert(err.code);
})
} `
经过一些研究后我发现它可能意味着我没有为它提供正确的路径,但是我已经尝试了所有内容,“filename”和“filepath”的任意组合都已经完成,甚至在开始时添加了前缀()。
我想知道是否有人设法使用此cordova插件读取文件,如果您这样做,请帮助我。
先谢谢,这是我在这里的第一篇帖子\ o /(虽然我一直都在使用这个网站,但是爱你们)。
答案 0 :(得分:0)
我设法使用File-Path插件完成此操作,它以文件插件理解并能够访问文件的方式解析文件的路径,然后您只需按照您想要的方式操作它。
答案 1 :(得分:0)
我有同样的问题。我通过以下方法解决了这个问题:
this.media.create(this.file.externalDataDirectory + this.nameFile);
我不知道为什么,但是如果您保存并删除this.file.readAsDataURL
,/file:
将无法读取文件
记住要在所有方法中更改路径。