企业建设网站的方式有哪些,中企动力主要是做什么的,网站开发与调试实验报告,购物网站建站系统HarmonyOS 音频录制与播放模块
1.模块功能概览
麦克风权限动态检测与申请音频录制功能#xff08;支持参数配置#xff09;音频波形实时可视化#xff08;暂时未完善#xff0c;先凑合看#xff0c;后续会完善#xff09;录音文件播放功能
2.权限检测流程
1.代码实现…HarmonyOS 音频录制与播放模块
1.模块功能概览
麦克风权限动态检测与申请音频录制功能支持参数配置音频波形实时可视化暂时未完善先凑合看后续会完善录音文件播放功能
2.权限检测流程
1.代码实现
async checkPermission() {const manager abilityAccessCtrl.createAtManager();// 首次权限申请const result await manager.requestPermissionsFromUser(getContext(), [ohos.permission.MICROPHONE]);// 检查所有权限是否通过const isPass result.authResults.every(res res abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED);if (!isPass) {// 二次弹窗引导设置const confirm await promptAction.showDialog({...});if (confirm.index 1) {// 跳转系统设置const finalResult await manager.requestPermissionOnSetting(getContext(), [ohos.permission.MICROPHONE]);}}
}2.2. 权限状态处理
状态处理方式第一次授权成功直接启用录音功能第一次授权失败弹窗提示前往系统设置系统设置二次授权失败返回上级页面
3. 录音功能核心实现
1.录音机配置
// 创建文件描述符
const file fileIo.openSync(filePath, fileIo.OpenMode.CREATE | fileIo.OpenMode.READ_WRITE);// AVRecorder 参数配置
const config {audioSourceType: media.AudioSourceType.AUDIO_SOURCE_TYPE_MIC,url: fd://${file.fd},profile: {audioBitrate: 100000,audioChannels: 2,audioSampleRate: 48000,audioCodec: media.CodecMimeType.AUDIO_AAC,fileFormat: media.ContainerFormatType.CFT_MPEG_4A}
};2.录音操作控制
方法功能描述startRecord()创建文件句柄/配置参数/启动录音stopRecord()停止录音/释放资源/关闭文件
3.音频播放实现
async playRecord() {const avPlayer await media.createAVPlayer();avPlayer.url fd://${file.fd};avPlayer.on(stateChange, (state) {if (state initialized) {avPlayer.prepare();} else if (state prepared) {avPlayer.play(); // 自动播放}});
}4.效果展示