Я использую Ionic и хочу записывать аудио в файл, а затем делать что-то с файлом.
Запуск: Galaxy 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(файл);
Я что-то делаю неправильно? Почему он решает к успеху, но без файла и продолжительности?
Edit
Репозитарий репродукции: https://github.com/AmitMY/ionic-media-record-repro
README имеет полные инструкции