我正在使用Ionic,并且想要将音频记录到文件中,然后对文件执行某些操作。Ionic cordova媒体记录用户音频不起作用
运行于:银河S4
因此,首先,我创建文件:
await this.file.createFile(this.getFileDirectory(), this.getFileName(), true);
当它准备好了,我创建了一个新的Media
实例:
this.currentRecording = this.media.create(this.getFilePath());
连接成功和错误听众:
this.currentRecording.onSuccess.subscribe((e) => {
console.log(this.currentRecording.getDuration());
this.file.readAsArrayBuffer(this.getFileDirectory(), this.getFileName())
.then(file => console.warn(file))
});
this.currentRecording.onError.subscribe((err) => console.error(err));
然后我开始记录: this.currentRecording.startRecord();
几秒钟后,我停止录制,this.currentRecording.stopRecord()
,并执行成功回调。
在控制台中,我现在看到
-1 //的console.log(this.currentRecording.getDuration());
ArrayBuffer {} // console.warn(file);
我做错了什么?它如何解决成功,但没有文件,也没有持续时间?
编辑
繁殖库:https://github.com/AmitMY/ionic-media-record-repro
自述有完整的说明
1)你使用这个插件? https://ionicframework.com/docs/native/media/ 2)您是否在移动设备上试用您的代码? – saperlipopette
正确,那就是插件。我正在Android设备上运行 – Amit
您可以放置TS组件的entiere代码吗?有一些像'this.getFileName()'这样的方法,我不能真正理解这个目的。 – saperlipopette