录制的文件在cordova-plugin-media中既不保存也不播放(错误代码1)

Recorded file neither saving nor playing in cordova-plugin-media (Error code 1)

我正在使用此插件:cordova-plugin-media 使用离子电容器而不是使用命令 ionic cap sync 的 cordova。

我的代码:

audioFile: MediaObject;
constructor(private media: Media, private plt: Platform, private file: File) {}
ionViewDidEnter() {
    this.plt.ready()
    .then(() => {
      setTimeout(() => {
        this.audioFile = this.media.create(this.file.externalRootDirectory + 'audiofile.mp3');
        this.audioFile.onStatusUpdate.subscribe(status => console.log('status: ', status));
        this.audioFile.onSuccess.subscribe(() => console.log('Action is successful'));
        this.audioFile.onError.subscribe(error => console.log('Error: ', error));
      }, 1000);
    })
    .catch(err => console.log('ready error: ', err));
}

record() {
    // When record button clicked
    this.audioFile.startRecord();
}

stop() {
    // When stop button clicked
    this.audioFile.stopRecord();
    this.audioFile.play();
}

当我点击 Record btn 时,record() 被执行并且输出是:Error: 1 当我停止记录时输出是 status: 4Action is successful 我希望在我的 android 设备的文件管理器中播放录音或获得 audiofile.mp3,但我没有观察到任何内容。有人可以帮我解决这个问题吗?

我尝试了什么:

Android 10 uses a new file system 因此,尚未自行更新的插件可能不会 read/create 文件 Android 10.

您需要在清单文件中手动添加此行:android:requestLegacyExternalStorage="true"

  1. 在 Android Studio 中打开您的项目并打开 AndroidManifest 文件。
  2. 在清单文件内的标签中,添加 android:requestLegacyExternalStorage="true"
  3. 重建您的项目