首页 > 解决方案 > 不使用手机的录音应用,可以使用 Capacitor 的 Media Capture 类的 captureAudio 功能吗?

问题描述

我想在按下按钮时开始在移动应用上录制音频。我设法使用 ionic 的 Media Capture 类来实现录音。但是,它并没有按我的意愿工作。它现在的工作方式是我点击一个按钮,手机的本地录音应用程序就会启动并允许我录制一些东西。我想在无需切换屏幕的情况下进行录音,类似于在 WhatsApp 中录制语音笔记的方式。一直在到处寻找答案,但没有找到任何东西。任何人都知道如何去做这件事?

标签: androidionic-frameworkmobileaudio-recordingcapacitor

解决方案


这篇文章很旧,但是对于遇到此问题的任何人,通过使用 ionic-native 媒体插件而不是媒体捕获插件,可以将录音连接到按钮

import { Media, MediaObject } from "@ionic-native/media/ngx";

constructor(private media: Media);

hStartRecordAudio(): {
    const lDate = new Date();

    this.audioName = `Recording_${lDate}.m4a`;

    this.audioFile = this.media.create(this.filePath.replace(/file:\/\//g, "") + this.audioName);

    this.hAudioRecordingStarted = true;
    this.audioFile.startRecord();
}

hEndRecordAudio() {
    this.audioFile.release();
    this.hAudioRecordingStarted = false;

    setTimeout(() => {
        let content = Capacitor.convertFileSrc(this.filePath + this.audioName)
    });
}

推荐阅读