[文章]HarmonyOS实战开发-如何实现音频低时延录制和播放,AudioVivid音乐播放的相关功能

阅读量0
0
0

介绍

本示例主要展示了音频低时延录制和播放,AudioVivid音乐播放的相关功能:

  1. 低时延录制。
  2. 低时延播放。
  3. AudioVivid播放.

效果预览

主页 录制页面
播放页面 AudioVivid播放页

使用说明

  1. 弹出麦克风权限访问提示框,点击“允许”,如果点击"禁止"则不可进行录制,需要用户去设置页面给应用授权后方可正常录制
  2. 在主界面点击“录制和播放”,进入音频录制界面,音频录制界面默认是普通录制界面,打开低时延录制开关可进行低时延录制
  3. 点击录制按钮,开始录制,开始录制后低时延录制开关变为不可点击状态,录音时间开始计时,5s内不允许结束,30s后会自动结束录制
  4. 点击暂停按钮,暂停录制,录音时间也停止计时
  5. 点击继续按钮,继续录制,录音时间继续计时
  6. 停止录制后,会生成录制结果,界面上有一个低时延播放开关和录制成功的音频播放器,点击低时延播放开关可打开低时延播放功能,点击播放可听到录制的音频,播放未结束之前低时延播放开关为不可点击状态
  7. 点击返回按按钮回到主页
  8. 点击AudioVivid播放卡片进入页面
  9. 点击普通播放按钮,播放普通格式音乐
  10. 点击普通暂停按钮,暂停普通格式音乐
  11. 点击AudioVivid播放按钮,播放AudioVivid格式音乐
  12. 点击AudioVivid暂停按钮,暂停AudioVivid格式音乐
  13. 点击返回按按钮回到主页

工程目录

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

依赖

不涉及。

约束与限制

  1. 本示例仅支持标准系统上运行,支持设备:RK3568(不支持低时延功能);
  2. 本示例仅支持API12版本SDK,镜像版本号:OpenHarmony 5.0.0.20及之后的版本;
  3. 本示例需要使用DevEco Studio 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 ***(分支名)

最后

如果大家觉得这篇内容对学习鸿蒙开发有帮助,我想邀请大家帮我三个小忙:
点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
关注小编,同时可以期待后续文章ing?,不定期分享原创知识。
更多鸿蒙最新技术知识点,请关注作者博客:鸿蒙实战经验分享:鸿蒙基础入门开发宝典! (qq.com)

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友