10 月 23 - 25 日,QCon 上海站即将召开,9折优惠最后1天 了解详情
写点什么

【HarmonyOS- 媒体技术 -Media Kit】HarmonyOS 音视频开发全栈解析

  • 2025-09-25
    北京
  • 本文字数:1926 字

    阅读完需:约 6 分钟

大小:1.05M时长:06:06
【HarmonyOS-媒体技术-Media Kit】HarmonyOS 音视频开发全栈解析

 还在手动拼装播放器、录屏、录制、元数据解析逻辑?别急——这份 HarmonyOS Media Kit 文档,就是你通往全场景多媒体开发的“通关指南”

👉 您可以通过此文档了解到 Media Kit 的 6 大核心功能模块、典型场景以及基础流程,【快速上手】零基础也能秒变“音视频高手”


一、概述

Media Kit 让开发者可以调用系统的音视频能力,涵盖播放、录制、录屏、元数据提取与转码六大核心功能模块,支撑系统应用与第三方应用在视频播放、内容创作、教学录屏、直播互动等典型场景下的音视频处理需求。系统框架和各核心功能模块介绍如下:


🎯核心功能模块

简要概述播放长短视频、录制、录屏、元数据、转码的功能描述及典型场景


🎯简易架构图

简要描述鸿蒙系统架构、Media Kit 提供的服务以及 TOP 使用 Media Kit 的系统应用和三方应用


二、Media Kit 的核心亮点

  • 轻量媒体引擎

占用系统资源少(线程、内存),支持 pipeline 拼装、插件化扩展(source/demuxer/codec)。

  • HDR 视频支持

支持 HDR Vivid 格式采集与播放,提升视觉体验。

  • 音频池机制(SoundPool)

适用于短音效播放场景(如系统提示音、游戏音效等),支持一次加载、多次低延迟播放。


三、Media Kit 六大功能模块简介

(1)AVPlayer:播放音视频

📌1. 功能简介

AVPlayer 负责将音频/视频资源(如 MP4、MP3、MKV、MPEG-TS 等)解码为可渲染的图像和音频信号,并通过输出设备播放。

它支持:

  • 音频播放(如音乐播放器)

  • 视频播放(如视频播放器)


📌2. 视频播放流程

流程说明:

  1. 应用从 XComponent 组件获取窗口 SurfaceID,获取方式参考XComponent

  2. 应用把媒体资源、SurfaceID 传递给 AVPlayer 接口。

  3. Player Framework 把视频 ES 数据流输出给解码 HDI,解码获得视频帧(NV12/NV21/RGBA)。

  4. Player Framework 把音频 PCM 数据流输出给 Audio Framework,Audio Framework 输出给音频 HDI。

  5. Player Framework 把视频帧(NV12/NV21/RGBA)输出给 Graphic Framework,Graphic Framework 输出给显示 HDI。


(2)SoundPool:播放短音频

📌1. 功能简介

SoundPool 专为短音频播放设计,适用于提示音、通知音等低延迟、高频次播放场景。


📌2. 交互关系图

 流程说明:

  1. 音频应用将媒体资源传递给 SoundPool 接口。

  2. Player Framework 将音频 PCM 数据流输出给 Audio Framework,再由 Audio Framework 输出给音频 HDI。


(3)AVRecorder:录制音视频

📌1. 功能简介

AVRecorder 可实现音频、视频、音视频混合录制,支持自定义编码格式、封装格式等参数。


📌2. 交互关系图

 流程说明:

  1. 应用通过 AVRecorder 接口从录制服务获取 SurfaceID。

  2. 应用将 SurfaceID 设置给相机服务,相机服务可以通过 SurfaceID 获取到 Surface。相机服务通过视频 HDI 捕获图像数据送至框架层的录制服务。

  3. 相机服务通过 Surface 将视频数据传递给录制服务。

  4. 录制服务将音频参数设置给音频服务,并从音频服务获取到音频数据。

  5. 录制服务通过编码服务将音视频数据编码。


(4)AVScreenCapture:屏幕录制

📌1. 功能简介

AVScreenCapture 支持屏幕录制功能,分为 录屏存文件 和录屏取码流 两种模式。


📌2. 交互关系图

 流程说明:

  1. 应用通过 AVScreenCapture 发起录屏。

  2. 录屏服务通过图形服务获取屏幕数据。

  3. 录屏服务将音频参数设置给音频服务,并从音频服务获取到音频数据。

  4. 录屏服务通过编码服务将音视频数据编码。


(5)AVMetadataExtractor:获取音视频元数据/缩略图

📌1. 功能简介

AVMetadataExtractor 用于从音视频资源中提取元数据,如标题、艺术家、专辑、时长等信息,从视频中提取指定时间点的画面,生成缩略图。


📌2. 交互关系图

 流程说明:

  1. 应用通过 AVMetadataExtractor 接口去获取元数据(如标题、艺术家等)/缩略图;

  2. 调用解封装/解码能力获取相应数据。


(6)AVTranscoder:视频转码

📌1. 功能简介

AVTranscoder 主要用于将已压缩编码的视频文件按照指定参数转换为另一种格式的视频。


📌2. 交互关系图

流程说明:

  1. 应用通过 AVTranscoder 接口进行视频文件的格式转换;

  2. 调用 AVCodec 的封装解封装、编解码服务,将音视频数据按照应用配置的新参数进行重新编码封装。


四、参考资料


五、结语

Media Kit 提供了一整套音视频开发工具链,无论你是开发音乐播放器、视频播放器、录音应用,还是屏幕录制工具,都能找到合适的组件来实现功能。

如果你希望打造一款高质量、高性能、高兼容性的音视频应用,Media Kit 就是你不可或缺的开发伙伴。


🌏加入 HarmonyOS 社区,共创未来!


我们诚邀广大开发者一起参与 HarmonyOS 技术生态建设,共建更开放、更智能的未来世界!

👉加入开发者社区,获取最新资讯和技术支持

📎HarmonyOS 官方社区


👉让 Media Kit 成为你开发路上的得力助手,开启你的音视频开发新纪元!🚀


2025-09-25 10:4611

评论

发布
暂无评论

YouTube音频提取 4K YouTube to MP3 for Mac激活中文

胖墩儿不胖y

Mac软件 音频提取工具 音频处理软件

关于前端就业前景的一点看法

树上有只程序猿

前端 前端开发

安全可靠的文件传输服务助力完成更高效的医疗保健工作(上)

镭速

文件传输服务 医疗保健

使用LlamaIndex构建自己的PandasAI

3D建模设计

人工智能 ChatGPT

Python数据科学入门

3D建模设计

Python 生成式AI

Numpy和Pandas简介

3D建模设计

Python 数据科学

OpenHarmony—应用间HSP开发指导

OpenHarmony开发者

OpenHarmony

喜讯!广通优云两大产品入选软博会“年度优秀创新软件产品推广目录”

广通优云

未来3-5年,前端开发往哪个方向发展更好就业?

互联网工科生

前端 前端开发 低代码

研发管理的挑战、本原与方案

iSoftBook

项目管理 软件工程 研发管理平台 敏捷方法 研发云平台

电气设计软件有哪些?EPLAN让你成为专业工程师

智造软件

EPLAN 电器辅助设计 电气设计

工业互联网的破局密钥——低代码开发

力软低代码开发平台

为什么当下MES如此火热,各大制造业工厂都在推行?

万界星空科技

MES系统

HTTPS的安全体现在什么地方?

巨量HTTP

https HTTP

议题征集中| KCD 2023 杭州站,共话云原生技术

OpenAnolis小助手

云原生 杭州 龙蜥社区 议题征集 KCD

国产“芯”突破 | 优博讯携手海思推出AI新零售创新方案

极客天地

Python 基础知识:语法、数据类型和控制结构

3D建模设计

Python 数据工程

Python数据结构5步入门

3D建模设计

Python 数据工程

一文秒懂!腾讯云ES HTTPS 集群访问通信最佳实践

腾讯云大数据

ES

“智算聚芯力 津彩新未来”天津市人工智能计算中心200P上线仪式暨天津人工智能应用创新论坛成功举办

彭飞

昇腾 AI 创新大赛2023河北区域赛成功举办,22支优秀团队脱颖而出

彭飞

电子行业云MES解决方案

万界星空科技

MES系统

夯实金融云基础设施底座,天翼云助力金融行业释放发展新活力

天翼云开发者社区

云计算 安全

大模型时代的 AI 原生云

Baidu AICLOUD

AI 原生云

安全可靠的文件传输服务助力完成更高效的医疗保健工作(下)

镭速

文件传输服务 医疗保健

kill -15 与kill -9的区别

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

【HarmonyOS-媒体技术-Media Kit】HarmonyOS 音视频开发全栈解析_HarmonyOS_HarmonyOS_InfoQ精选文章