鸿蒙(API 12 Beta2版)媒体开发【Audio Kit简介】音频服务

亮点/特征

  • 低时延播放

    提供统一音频低时延/非低时延播放能力接口,通过垂直打通硬件,达成最低的音频输出时延。在游戏、提示/告警音、K歌等场景下,可以通过低时延接口,实现音频快速流畅播放。

  • 低功耗播放

    针对应用播放音乐、听书类长时间音频播放场景,为确保更佳续航体验,在亮/灭屏播放时采用差异化音频缓冲区处理机制,减少CPU被唤醒的频率来降低音频播放功耗。

  • 音效模式

    提供系统音效模式设置,应用可以按需开/关系统音效,确保最佳音效输出体验。

    系统默认为音乐、听书、影院等不同场景进行相应音效处理,但应用内部自身也存在一些定制化音效,为确保最终音效不产生冲突,系统提供音效模式配置开关,允许应用按需开/关系统音效。

  • 空间音频

    提供空间音频能力,支持用户佩戴TWS耳机时,使用应用播放音源(立体声/多声道/AudioVivid格式),可主观感受到空间音频渲染效果(方位感/空间感)。

  • 音振协同

    提供音振协同能力接口,实现音频及振动流的低时延同步控制。达成在输入法中开启音频和振动效果,打字输入时音振协同、节奏一致,来电铃声和振动同时响起,铃音和振动节奏同步一致的体验。

开发说明

在每个功能中,会介绍多种实现方式以应对不同的使用场景,以及该场景相关的子功能点。比如在音频播放功能内,会同时介绍音频的并发策略、音量管理和输出设备等在操作系统中的处理方式,帮助开发者能够开发出功能覆盖更全面的应用。

本开发指导仅针对音频播放或录制本身,Audio Kit提供相关能力,不涉及UI界面、图形处理、媒体存储或其他相关领域功能。

在开发音频功能之前,尤其是要实现处理音频数据的功能前,建议开发者先了解声学相关的知识,帮助理解操作系统提供的API是如何控制音频系统,从而开发出更易用、体验更好的音视频类应用。建议了解的相关概念包括但不限于:

  • 音频量化的过程:采样 > 量化 > 编码
  • 音频量化过程的相关概念:模拟信号和数字信号、采样率、声道、采样格式、位宽、码率、常见编码格式(如AAC、MP3、PCM、WMA等)、常见封装格式(如WAV、MPA、FLAC、AAC、OGG等)

音频流介绍

在开发音频应用之前,还需要了解什么是音频流,它是HarmonyOS音频系统中的关键概念,在之后的章节中会多次提及。

音频流,是指音频系统中一个具备音频格式和音频使用场景信息的独立音频数据处理单元。可以表示播放,也可以表示录制,并且具备独立音量调节和音频设备路由切换能力。

音频流基础信息通过[AudioStreamInfo]表示,包含采样、声道、位宽、编码信息,是创建音频播放或录制流的必要参数,描述了音频数据的基本属性。在配置时开发者需要保证基础信息与传输的音频数据是相匹配的,音频系统才能正确处理数据。

音频流使用场景信息

除了基本属性,音频流还需要具备使用场景信息。基础信息只能对音频数据进行描述,但在实际的使用过程中,不同的音频流,在音量大小、设备路由、并发策略上是有区别的。系统就是通过音频流所附带的使用场景信息,为不同的音频流制定合适的处理策略,以达到更好的音频用户体验。

  • 播放场景

    音频播放场景的信息,通过[StreamUsage]进行描述。

    StreamUsage指音频流本身的用途类型,包括媒体、语音通信、语音播报、通知、铃声等。

  • 录制场景

    音频流录制场景的信息,通过[SourceType]进行描述。

    SourceType指音频流中录音源的类型,包括麦克风音频源、语音识别音频源、语音通话音频源等。

支持的音频格式

audio模块下的接口支持PCM编码,包括AudioRenderer、AudioCapturer、TonePlayer、OpenSL ES等。

音频格式说明:

  • 支持的常用的音频采样率(Hz):8000、11025、12000、16000、22050、24000、32000、44100、48000、64000、8820012+、96000,17640012+、19200012+。

    不同设备支持的采样率规格会存在差异。

  • 支持单声道、双声道。

  • 支持的采样格式:U8(无符号8位整数)、S16LE(带符号的16位整数,小尾数)、S24LE(带符号的24位整数,小尾数)、S32LE(带符号的32位整数,小尾数)、F32LE(带符号的32位浮点数,小尾数)。

    由于系统限制,S24LE、S32LE、F32LE仅部分设备支持,请根据实际情况使用。

    小尾数指的是小端模式,即数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。这种存储模式将地址的高低和数据的位权有效结合起来,高地址部分权值高,低地址部分权值低。

最后呢

很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。

而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档 》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。

针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细鸿蒙(OpenHarmony )手册(共计1236页)与鸿蒙(OpenHarmony )开发入门视频,帮助大家在技术的道路上更进一步。

  • 《鸿蒙 (OpenHarmony)开发学习视频》
  • 《鸿蒙生态应用开发V2.0白皮书》
  • 《鸿蒙 (OpenHarmony)开发基础到实战手册》
  • OpenHarmony北向、南向开发环境搭建
  • 《鸿蒙开发基础》
  • 《鸿蒙开发进阶》
  • 《鸿蒙开发实战》

总结

鸿蒙---作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。

并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行! 自↓↓↓拿

相关推荐
逢生博客3 小时前
Mac 搭建仓颉语言开发环境(Cangjie SDK)
macos·华为·鸿蒙
小强在此7 小时前
【基于开源鸿蒙(OpenHarmony)的智慧农业综合应用系统】
华为·开源·团队开发·智慧农业·harmonyos·开源鸿蒙
小东来9 小时前
电脑端视频剪辑软件哪个好用,十多款剪辑软件分享
音视频
PlumCarefree10 小时前
基于鸿蒙API10的RTSP播放器(四:沉浸式播放窗口)
华为·harmonyos
AI脑极体11 小时前
解密与推广IAB/MRC零售媒体测量指南
媒体·零售
cuijiecheng201811 小时前
音视频入门基础:AAC专题(8)——FFmpeg源码中计算AAC裸流AVStream的time_base的实现
ffmpeg·音视频·aac
Mr数据杨11 小时前
我的AI工具箱Tauri版-VideoIntroductionClipCut视频介绍混剪
人工智能·音视频
神一样的老师11 小时前
基于环境音频和振动数据的人类活动识别
人工智能·音视频
启明云端wireless-tag11 小时前
设备稳定流畅视频体验,乐鑫ESP32-S3芯片方案无线音视频传输通信
物联网·音视频·交互·乐鑫·wifi模组