我正在使用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