你還在為屏幕錄製功能發愁嗎?
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 成為你開發路上的得力助手,開啓你的屏幕錄製新紀元!