尝试在ionic中使用媒体和文件录制时质量低的音频文件



我正在尝试使用媒体在安卓中录制音频 ( https://ionicframework.com/docs/native/media ( 但是当我播放时,录制的音频质量非常低,带有噪音, 这是离子论坛中问题的链接:https://forum.ionicframework.com/t/low-quality-audio-file-when-trying-to-record-using-media-and-file/191952

这是我的代码:

import { Component } from '@angular/core';
import { Media, MediaObject } from '@ionic-native/media/ngx';
import { File } from '@ionic-native/file/ngx';
import { Platform } from '@ionic/angular';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {

filePath: string;
recordedAudio: MediaObject;
recording: Boolean = false;
constructor(
private media: Media,
private file: File,
public platform: Platform
) { }
startRecord() {
if (this.platform.is('android')) {
console.log('Android');
console.log(this.file.externalRootDirectory);
this.filePath = this.file.externalRootDirectory + 'my_file.3gp';
console.log(this.filePath)
this.file.createFile(this.file.externalRootDirectory, 'my_file.3gp', true).then(() => {
this.recordedAudio = this.media.create(this.file.externalRootDirectory.replace(/^file:///, '') + 'my_file.3gp');
this.recordedAudio.startRecord();
window.setTimeout(() => this.recordedAudio.stopRecord(), 50000);
});
}
this.recording = true;
}
stopRecord() {
if (this.platform.is('android')) {
this.recordedAudio.stopRecord();
this.recordedAudio.release();
}
}
playSelectedTrack() {
// use AudioProvider to control selected track 
if (this.platform.is('android')) {
this.recordedAudio.play();
}
}
pauseSelectedTrack() {
// use AudioProvider to control selected track 
if (this.platform.is('android')) {
this.recordedAudio.pause();
}
}
}

这可能是因为音频编码。3gp听起来总是很糟糕。尝试m4amp3m4a适用于少数安卓手机,并且质量更好。

这是来自Cordova Github Repo:Android设备以AAC ADTS文件格式录制音频。指定的文件应以.aac扩展名结尾。

您也可以使用 媒体捕获以录制音频。

Github 存储库:媒体捕获

最新更新