【HarmonyOS-媒体技术-AVScreenCapture】录屏功能开发全攻略
头像 鸿蒙小助手 2025-11-03 17:43:33    发布
28080 浏览 741 点赞 1 收藏

你还在为屏幕录制功能发愁吗?

HarmonyOS 的 AVScreenCapture,就是你一直在寻找的那把“万能钥匙”!


一、功能全面,兼容性强,开箱即用

AVScreenCapture 是 HarmonyOS 平台上强大的屏幕录制组件,支持高清、低延迟、多场景的屏幕内容捕获,助力开发者轻松实现:

· 游戏录屏:精准捕捉每帧操作,还原精彩瞬间

· 教学演示:清晰录制操作流程,提升学习效率

· 会议分享:一键录制屏幕+语音,远程协作更高效

· 直播推流:低延迟输出,适配直播平台需求

支持主流录制模式:

· 全屏录制 / 区域录制(自定义窗口)

· 系统音+麦克风双音轨录制

· 硬件加速编码:H.264 / H.265,高效压缩不卡顿

· 封装格式:MP4、M4A,兼容主流播放器

典型应用:游戏录播工具在线教育平台远程办公助手直播推流应用


二、开发门槛低,功能强大,支持多种语言

ArkTS 开发

· 快速构建录屏界面,状态流转清晰

· 支持录制控制、错误回调一体化

C/C++ NDK 开发

· 与底层图形系统深度集成,适合高性能录屏引擎


三、开发流程清晰,代码结构规范,易于维护

屏幕录制流程(ArkTS 示例):

// 1. 创建 AVScreenCapture 实例
const screenCapture = await media.createScreenCapture();

let filePath: string = 'screenCapture.mp4';
let captureFile: fs.File = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);

// 2. 配置录制参数
const captureConfig = {
 // 开发者可以根据自身的需要设置宽高。
 frameWidth: 768,
 frameHeight: 1280,
 // 参考应用文件访问与管理开发示例新建并读写一个文件fd。
 fd: captureFile.fd,
 // 可选参数及其默认值。
 videoBitrate: 10000000,
 audioSampleRate: 48000,
 audioChannelCount: 2,
 audioBitrate: 96000,
 displayId: 0,
 preset: media.AVScreenCaptureRecordPreset.SCREEN_RECORD_PRESET_H264_AAC_MP4  
};

await screenCapture.init(captureConfig);

// 3. 开始/停止录制
screenCapture.startRecording();
screenCapture.stopRecording();

// 4. 释放资源
screenCapture.release();


四、NDK 开发(C++ 示例):

// 1. 创建 AVScreenCapture 实例
struct OH_AVScreenCapture *capture = OH_AVScreenCapture_Create();

// 2. 配置参数并准备录制
OH_AudioCaptureInfo miccapinfo = {.audioSampleRate = 16000, .audioChannels = 2, .audioSource = OH_MIC};
OH_VideoCaptureInfo videocapinfo = {
   .videoFrameWidth = 768, .videoFrameHeight = 1280, .videoSource = OH_VIDEO_SOURCE_SURFACE_RGBA};
OH_AudioInfo audioinfo = {
   .micCapInfo = miccapinfo,
};
OH_VideoInfo videoinfo = {.videoCapInfo = videocapinfo};
OH_AVScreenCaptureConfig config = {.captureMode = OH_CAPTURE_HOME_SCREEN,
                                  .dataType = OH_ORIGINAL_STREAM,
                                  .audioInfo = audioinfo,
                                  .videoInfo = videoinfo};
OH_AVScreenCapture_Init(capture, config);
   
// 3. 开始/停止录屏。
OH_AVScreenCapture_StartScreenRecording(capture);
OH_AVScreenCapture_StopScreenRecording(capture);

// 4. 释放资源
OH_AVScreenCapture_Release(capture);


五、为什么选择 AVScreenCapture?

· 高效稳定,轻松构建专业级录屏应用
原生支持鸿蒙系统图形架构,支持硬件加速编码,录制过程流畅不卡顿,帧率稳定,音画同步精准。

· 灵活配置,满足多样化需求
支持全屏/区域录制、多音轨混合、自定义分辨率与码率,可适配游戏、教学、会议、直播等不同场景。

· 开放文档 + 社区支持,快速上手
提供详尽的 API 文档、完整示例代码与调试工具,配合活跃的开发者社区,助你从0到1快速落地。


六、立即行动,开启你的屏幕录制开发之旅!

点击了解完整开发示例与 API 文档
AVScreenCapture 开发指南 ArkTS API
AVScreenCapture 开发指南 C API


加入 HarmonyOS 社区,共创未来!

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

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


让 AVScreenCapture 成为你开发路上的得力助手,开启你的屏幕录制新纪元!

©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
HarmonyOS
地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 商务内容合作QQ:2291221 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除
京ICP备:2022009079号-2
京公网安备:11010502051901号
ICP证:京B2-20230255