
























HarmonyOS 的 AVScreenCapture,就是你一直在寻找的那把“万能钥匙”!
AVScreenCapture 是 HarmonyOS 平台上强大的屏幕录制组件,支持高清、低延迟、多场景的屏幕内容捕获,助力开发者轻松实现:
支持主流录制模式:
典型应用:游戏录播工具、在线教育平台、远程办公助手、直播推流应用!
// 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();
// 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);
点击了解完整开发示例与 API 文档
🔗 AVScreenCapture 开发指南 ArkTS API
🔗 AVScreenCapture 开发指南 C API
我们诚邀广大开发者一起参与 HarmonyOS 技术生态建设,共建更开放、更智能的未来世界!
加入开发者社区,获取最新资讯和技术支持
🔗 HarmonyOS 官方社区
让 AVScreenCapture 成为你开发路上的得力助手,开启你的屏幕录制新纪元!
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。