首页>商情资讯>行业新闻

鸿蒙NEXT开发案例:分贝仪

2025-8-7 11:41:00
  • 踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!

踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!https://developer.huawei.com/consumer/cn/training/dev-cert-detail/101666948302721398?ha_source=hmosclass-bokeyuan&ha_sourceId=89000444


鸿蒙NEXT开发案例:分贝仪

【1】引言

分贝仪是一个简单的应用,用于测量周围环境的噪音水平。通过麦克风采集音频数据,计算当前的分贝值,并在界面上实时显示。该应用不仅展示了鸿蒙系统的基础功能,还涉及到了权限管理、音频处理和UI设计等多个方面。

【2】环境准备

电脑系统:windows 10

开发工具:DevEco Studio NEXT Beta1 Build Version: 5.0.3.806

工程版本:API 12

真机:mate60 pro

语言:ArkTS、ArkUI

权限:ohos.permission.MICROPHONE(麦克风权限)

系统库:

• @kit.AudioKit:用于音频处理的库。

• @kit.AbilityKit:用于权限管理和应用能力的库。

• @kit.BasicServicesKit:提供基本的服务支持,如错误处理等。

【3】功能模块

3.1 权限管理

在使用麦克风之前,需要请求用户的权限。如果用户拒绝,会显示一个对话框引导用户手动开启权限。


鸿蒙NEXT开发案例:分贝仪

3.2 分贝计算

通过读取麦克风采集的音频数据,计算当前环境的分贝值。计算过程中会对音频样本进行归一化处理,并计算其均方根(RMS)值,最终转换成分贝值。


鸿蒙NEXT开发案例:分贝仪

3.3 UI设计

界面上包含一个仪表盘显示当前分贝值,以及一段文字描述当前的噪音水平。分贝值被映射到0到100的范围内,以适应仪表盘的显示需求。界面上还有两个按钮,分别用于开始和停止分贝测量。


鸿蒙NEXT开发案例:分贝仪

鸿蒙NEXT开发案例:分贝仪

【4】关键代码解析

4.1 权限检查与请求

在应用启动时,首先检查是否已经获得了麦克风权限。如果没有获得权限,则请求用户授权。


鸿蒙NEXT开发案例:分贝仪

4.2 音频记录器初始化

在获得权限后,初始化音频记录器,设置采样率、通道数、采样格式等参数,并开始监听音频数据。


鸿蒙NEXT开发案例:分贝仪

4.3 更新显示

每秒钟更新一次显示的分贝值,并根据当前分贝值确定其所属的噪音级别。


鸿蒙NEXT开发案例:分贝仪

【5】完整代码

5.1 配置麦克风权限

路径:src/main/module.json5


鸿蒙NEXT开发案例:分贝仪

5.2 配置权限弹窗时的描述文字

路径:src/main/resources/base/element/string.json


鸿蒙NEXT开发案例:分贝仪

5.3 完整代码

路径:src/main/ets/pages/Index.ets


鸿蒙NEXT开发案例:分贝仪

鸿蒙NEXT开发案例:分贝仪

鸿蒙NEXT开发案例:分贝仪

鸿蒙NEXT开发案例:分贝仪

鸿蒙NEXT开发案例:分贝仪

鸿蒙NEXT开发案例:分贝仪

鸿蒙NEXT开发案例:分贝仪


鸿蒙NEXT开发案例:分贝仪

(文章转载自51CTO,作者zhongcx)