HarmonyOS实战开发-如何实现音频低时延录制和播放,AudioVivid音乐播放相关功能
·
介绍
本示例主要展示了音频低时延录制和播放,AudioVivid音乐播放的相关功能:
- 低时延录制。
- 低时延播放。
- AudioVivid播放.
效果预览


使用说明
- 弹出麦克风权限访问提示框,点击“允许”,如果点击"禁止"则不可进行录制,需要用户去设置页面给应用授权后方可正常录制
- 在主界面点击“录制和播放”,进入音频录制界面,音频录制界面默认是普通录制界面,打开低时延录制开关可进行低时延录制
- 点击录制按钮,开始录制,开始录制后低时延录制开关变为不可点击状态,录音时间开始计时,5s内不允许结束,30s后会自动结束录制
- 点击暂停按钮,暂停录制,录音时间也停止计时
- 点击继续按钮,继续录制,录音时间继续计时
- 停止录制后,会生成录制结果,界面上有一个低时延播放开关和录制成功的音频播放器,点击低时延播放开关可打开低时延播放功能,点击播放可听到录制的音频,播放未结束之前低时延播放开关为不可点击状态
- 点击返回按按钮回到主页
- 点击AudioVivid播放卡片进入页面
- 点击普通播放按钮,播放普通格式音乐
- 点击普通暂停按钮,暂停普通格式音乐
- 点击AudioVivid播放按钮,播放AudioVivid格式音乐
- 点击AudioVivid暂停按钮,暂停AudioVivid格式音乐
- 点击返回按按钮回到主页
工程目录
entry/src/main/
|---main
| |---cpp
| | |---types
| | | |---libentry
| | | | |---index.d.ts // 接口导出
| | | | |---oh-package.json5
| | |---audio.cpp // 调用native接口
| | |---CMakeLists.txt // 编译脚本
| |---ets
| | |---entryability
| | | |---EntryAbility.ets
| | |---pages
| | | |---Index.ets // 首页
| | | |---AudioRecording.ets // 录制和播放页面
| | | |---AudioVividPlayback.ets // AudioVivid播放页面
| |---resources // 静态资源
|---ohosTest
| |---ets
| | |---tests
| | | |---Ability.test.ets // 自动化测试用例
具体实现
- 音频录制和播放-源码参考:audioRecording.cpp
- 低时延录制开发指导文档
- 低时延播放开发指导文档
- 低时延录制开发示例
- 低时延播放开发示例
- AudioVivid播放开发示例
相关权限
音频录制涉及的权限包括:
1.允许应用使用麦克风:ohos.permission.MICROPHONE
依赖
不涉及。
约束与限制
- 本示例仅支持标准系统上运行,支持设备:RK3568(不支持低时延功能);
- 本示例仅支持API12版本SDK,镜像版本号:OpenHarmony 5.0.0.20及之后的版本;
- 本示例需要使用DevEcoStudio 3.1.1 release (Build Version: 3.1.0.501)才可编译运行;
下载
如需单独下载本工程,执行如下命令:
git init
git config core.sparsecheckout true
echo code/BasicFeature/Native/Audio/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin ***(分支名)
如果大家还没有掌握鸿蒙,现在想要在最短的时间里吃透它,我这边特意整理了《鸿蒙语法ArkTS、TypeScript、ArkUI等…视频教程》以及《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
鸿蒙语法ArkTS、TypeScript、ArkUI等…视频教程:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

OpenHarmony APP应用开发教程步骤:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

《鸿蒙开发学习手册》:
如何快速入门:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.基本概念
2.构建第一个ArkTS应用
3.……

开发基础知识:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS语言
9.……

基于ArkTS 开发:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
16.……

鸿蒙生态应用开发白皮书V2.0PDF:https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)