鸿蒙(API 12 Beta2版)媒体开发【管理麦克风】

因为在录制过程中需要使用麦克风录制相关音频数据,所以建议开发者在调用录制接口前查询麦克风状态,并在录制过程中监听麦克风的状态变化,避免影响录制效果。

在音频录制过程中,用户可以将麦克风静音,此时录音过程正常进行,录制生成的数据文件的大小随录制时长递增,但写入文件的数据均为0,即无声数据(空白数据)。

开发步骤及注意事项

在AudioVolumeGroupManager中提供了管理麦克风状态的方法,接口的详细说明请参考[API文档]。

  1. 创建audioVolumeGroupManager对象。

    import { audio } from '@kit.AudioKit';

    let audioVolumeGroupManager: audio.AudioVolumeGroupManager;
    async function loadVolumeGroupManager() { //创建audioVolumeGroupManager对象
    const groupid = audio.DEFAULT_VOLUME_GROUP_ID;
    audioVolumeGroupManager = await audio.getAudioManager().getVolumeManager().getVolumeGroupManager(groupid);
    console.info('audioVolumeGroupManager create success.');
    }

  2. 调用isMicrophoneMute查询麦克风当前静音状态,返回true为静音,false为非静音。

    async function isMicrophoneMute() { //查询麦克风是否静音
    await audioVolumeGroupManager.isMicrophoneMute().then((value: boolean) => {
    console.info(isMicrophoneMute is: ${value}.);
    });
    }

相关推荐
赖small强1 天前
【音视频开发】 ISP核心技术解析:3A算法(AE/AWB/AF)原理与实现
音视频·ae·af·awb·3a算法
是Dream呀1 天前
昇腾实战 | 昇腾 NPU 异构编程与 GEMM 调优核心方法
人工智能·华为·cann
AI大模型1 天前
刚入门AI大模型?这6个GitHub开源教程,连微软都忍不住推荐
程序员·llm·agent
用户14436183400971 天前
你不知道的JS-上(五)
javascript·程序员
乾元1 天前
AI + Jinja2/Ansible:从自然语义到可执行 Playbook 的完整流水线(工程级深度)
运维·网络·人工智能·网络协议·华为·自动化·ansible
xiaocao_10231 天前
鸿蒙手机上使用的备忘录怎么导出来?
华为·智能手机·harmonyos
ACP广源盛139246256731 天前
GSV2202D@ACP#DisplayPort 1.4 到 HDMI 2.0 转换器(带嵌入式 MCU)
单片机·嵌入式硬件·计算机外设·音视频
你好音视频1 天前
RTSP拉流:RTP包解析流程详解
ffmpeg·音视频
C雨后彩虹1 天前
最少交换次数
java·数据结构·算法·华为·面试
春卷同学1 天前
打砖块 - Electron for 鸿蒙PC项目实战案例
android·electron·harmonyos