有没有HarmonyOS鸿蒙Next中单独取录屏的音视频帧的接口?
有没有HarmonyOS鸿蒙Next中单独取录屏的音视频帧的接口? 【问题描述】:录屏保存的文件格式是h264帧,音频是aac帧,可以通过回调或某种方式分别把录屏后的音视频流实时取出来。
【问题现象】:想知道目前有没有可以单独取录屏的音视频帧的接口
【版本信息】:不涉及
【复现代码】:不涉及
【背景知识】
- [@ohos/mp4parser](https://ohpm.openharmony.cn/#/cn/detail/@ohos%2Fmp4parser):一个读取、写入操作音视频文件编辑的工具,使用此三方库实现视频拼接创作。
- [@ohos.file.photoAccessHelper (相册管理模块)](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-photoaccesshelper):该模块提供相册管理能力,包括创建相册、访问和修改相册中的媒体数据。使用此模块获取相册中视频。
- [@ohos.file.fs (文件管理)](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-file-fs):该模块为基础文件操作API,提供基础文件操作能力,包括文件基本管理、文件目录管理、文件信息统计、文件流式读写等常用功能。使用此模块进行沙箱文件操作。
【解决方案】
可以参考视频中提取音频的案例代码,已经验证可以实现录屏提取音频以及取视频帧,
更多关于有没有HarmonyOS鸿蒙Next中单独取录屏的音视频帧的接口?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
楼主看下这个案例,https://developer.huawei.com/consumer/cn/doc/architecture-guides/audio_extractor-0000002298797484
mp4parser调用FFmpeg可以实现音视频帧的提取
在HarmonyOS Next中,可以通过ScreenRecorder和AudioCapturer结合的方式,实现分别获取录屏的音视频帧数据。
1. 视频帧获取:
使用ScreenRecorder类,通过设置RecorderConfig并注册OnFrameConsumedListener回调,可以实时获取编码后的H.264视频帧。
关键接口:
ScreenRecorder.setRecorderConfig():配置录制参数ScreenRecorder.setOnFrameConsumedListener():注册帧数据回调OnFrameConsumedListener.onFrameConsumed():接收视频帧数据
2. 音频帧获取:
使用AudioCapturer类独立采集音频数据,获取原始PCM音频帧或编码后的AAC帧。
关键接口:
AudioCapturer初始化并配置音频参数AudioCapturer.start()开始采集- 通过
read()方法循环读取音频数据
实现要点:
- 需要分别处理视频和音频的时间戳以实现同步
- 视频帧通过回调被动接收,音频帧需要主动读取
- 注意权限声明:
ohos.permission.CAPTURE_SCREEN和ohos.permission.MICROPHONE
这种方式可以分别获取音视频原始数据流,适用于需要实时处理或自定义封装的场景。


