Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
d2f613bd
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
d2f613bd
编写于
7月 25, 2023
作者:
W
wangzx0705
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add screencapture develop docs
Signed-off-by:
N
wangzx0705
<
wangzx0705@thundersoft.com
>
上级
db6cbce8
变更
9
显示空白变更内容
内联
并排
Showing
9 changed file
with
2125 addition
and
0 deletion
+2125
-0
zh-cn/application-dev/media/Readme-CN.md
zh-cn/application-dev/media/Readme-CN.md
+3
-0
zh-cn/application-dev/media/avscreen-capture-development.md
zh-cn/application-dev/media/avscreen-capture-development.md
+231
-0
zh-cn/application-dev/media/avscreen-capture-overview.md
zh-cn/application-dev/media/avscreen-capture-overview.md
+15
-0
zh-cn/application-dev/reference/native-apis/_a_v_screen_capture.md
...lication-dev/reference/native-apis/_a_v_screen_capture.md
+364
-0
zh-cn/application-dev/reference/native-apis/_a_v_screen_capture_base.md
...ion-dev/reference/native-apis/_a_v_screen_capture_base.md
+1258
-0
zh-cn/application-dev/reference/native-apis/_a_v_screen_capture_callback.md
...dev/reference/native-apis/_a_v_screen_capture_callback.md
+79
-0
zh-cn/application-dev/reference/native-apis/native__avscreen_capture_8h.md
...-dev/reference/native-apis/native__avscreen_capture_8h.md
+38
-0
zh-cn/application-dev/reference/native-apis/native__avscreen_capture_base_8h.md
...reference/native-apis/native__avscreen_capture_base_8h.md
+53
-0
zh-cn/application-dev/reference/native-apis/native__avscreen_capture_errors_8h.md
...ference/native-apis/native__avscreen_capture_errors_8h.md
+84
-0
未找到文件。
zh-cn/application-dev/media/Readme-CN.md
浏览文件 @
d2f613bd
...
...
@@ -31,6 +31,9 @@
-
[
开发音频通话功能
](
audio-call-development.md
)
-
[
视频播放
](
video-playback.md
)
-
[
视频录制
](
video-recording.md
)
-
屏幕录制
-
[
屏幕录制开发概述
](
avscreen-capture-overview.md
)
-
[
开发屏幕录制功能
](
avscreen-capture-development.md
)
-
音视频编解码
-
[
获取支持的编解码能力
](
obtain-supported-codecs.md
)
-
[
音频编码
](
audio-encoding.md
)
...
...
zh-cn/application-dev/media/avscreen-capture-development.md
0 → 100644
浏览文件 @
d2f613bd
# 开发屏幕录制功能
屏幕录制功能主要有主屏幕录屏、指定物理屏录屏和应用内录屏三个子功能。
录屏(AVScreenCapture)以单独的原子能力构建,北向给开发者提供能力接口,视频采集南向对接窗口子系统和图形子系统,语音采集和编码后码流横向在媒体子系统内部对接AudioService和AVCodecService。AVScreenCapture采用client-server设计结构,用openharmony IPC进行通信,图中绿色为新增模块。proxy和stub,负责IPC接口通信,npi提供kit层级的接口,client负责权限校验以及接口能力。server负责音视频的采集,以及buffer管理等。
主屏幕录屏:录屏框架在makeMirror时默认使用主屏;图形默认根据主屏produce surface到BufferQueue;录屏框架从BufferQueue consumer数据进行相应处理。
指定物理屏录屏:app从窗口子系统获取所有displayId;app根据用户选择,在调用录屏框架接口init时,带入用户选择 共享的屏幕;录屏框架在makeMirror时,传入displayId给窗口子系统; 窗口子系统向图形那边设置图层白名单;图形根据设置的白名单图层produce surface到BufferQueue; 录屏框架从BufferQueue consumer数据进行相应处理。(api 10对此功能暂仅作参数预留,未做实际实现)
应用内录屏:app从missionManger获取全局的mission;app根据用户选择,在调用录屏框架接口init时,带入用户选择 的missionId(可以是多个);录屏框架在createVirtualScreen时,传入missionId给窗口子系统;窗口子系统向图形那边设置图层白名单;图形根据设置的白名单图层produce surface到BufferQueue;录屏框架从BufferQueue consumer数据进行相应处理。(api 10对此功能暂仅作参数预留,未做实际实现)
## 开发指导
使用AVScreenCapture录制屏幕涉及到AVScreenCapture实例的创建、音视频采集参数的配置、采集的开始与停止、资源的释放等。本开发指导将以一次录制屏幕数据的过程为例,向开发者讲解如何使用AVScreenCapturer进行屏幕录制,详细的API声明请参考
[
AVScreenCapture API参考
](
../reference/native-apis/_a_v_screen_capture.md
)
。
使用AVScreenCapture时要注意状态的变化,在创建实例后,调用对应的方法可以进入指定的状态实现对应的行为。需要注意的是在确定的状态执行不合适的方法可能导致AVScreenCapture发生错误,建议开发者在调用状态转换的方法前进行状态检查,避免程序运行产生预期以外的结果。
### 开发步骤及注意事项
开发者可以通过以下几个步骤来实现一个简单的屏幕录制功能。
1.
创建AVScreenCapture实例capture。
```
c++
OH_AVScreenCapture
*
capture
=
AVScreenCapture_Create
();
```
2.
配置屏幕录制参数。
创建AVScreenCapture实例capture后,可以设置屏幕录制所需要的参数,可以参考下面的案例。
```
c++
OH_AudioCaptureInfo
miccapinfo
=
{
.
audioSampleRate
=
16000
,
.
audioChannels
=
2
,
.
audioSource
=
OH_MIC
};
OH_VideoCaptureInfo
videocapinfo
=
{
.
videoFrameWidth
=
display
->
GetWidth
(),
.
videoFrameHeight
=
display
->
Height
(),
.
videoSource
=
OH_VIDEO_SOURCE_SURFACE_RGBA
};
OH_AudioInfo
audioinfo
=
{
.
micCapInfo
=
miccapinfo
,
};
OH_VideoInfo
videoinfo
=
{
.
videoCapInfo
=
videocapinfo
};
OH_RecorderInfo
recorderinfo
=
{
.
url
=
name
};
OH_AVScreenCaptureConfig
config
=
{
.
captureMode
=
OH_CAPTURE_HOME_SCREEN
,
.
dataType
=
OH_ORIGINAL_STREAM
,
.
audioInfo
=
audioinfo
,
.
videoInfo
=
videoinfo
,
.
recorderInfo
=
recorderinfo
};
OH_AVScreenCapture_Init
(
capture
,
config
);
```
3.
设置麦克风开关。
```
c++
bool
isMic
=
true
;
OH_AVScreenCapture_SetMicrophoneEnabled
(
capture
,
isMic
);
```
4.
回调函数的设置,主要监听录屏过程中的错误事件的发生,音频流和视频流数据的产生事件。
```
c++
OH_AVScreenCaptureCallback
callback
;
callback
.
onAudioBufferAvailable
=
OnAudioBufferAvailable
;
callback
.
onVideoBufferAvailable
=
OnVideoBufferAvailable
;
OH_AVScreenCapture_SetCallback
(
capture
,
callback
);
```
5.
调用StartScreenCapture方法开始进行屏幕录制。
```
c++
OH_AVScreenCapture_StartScreenCapture
(
capture
);
```
6.
调用StopScreenCapture()方法停止录制。
```
c++
OH_AVScreenCapture_StopScreenCapture
(
capture_
);
```
7.
调用AcquireAudioBuffer()获取音频原始码流数据
```
c++
OH_AVScreenCapture_AcquireAudioBuffer
(
capture
,
&
audiobuffer
,
type
);
```
8.
调用AcquireVideoBuffer()方法停止录制。
```
c++
OH_NativeBuffer
*
buffer
=
OH_ScreenCapture_AcquireVideoBuffer
(
capture
,
&
fence
,
&
timestamp
,
&
damage
);
```
9.
调用ReleaseAudioBuffer方法释放音频buffer。
```
c++
OH_ScreenCapture_ReleaseAudioBuffer
(
capture
,
type
);
```
10.
调用ReleaseVideoBuffer()方法停止录制。
```
c++
OH_ScreenCapture_ReleaseVideoBuffer
(
capture
);
```
11.
调用release()方法销毁实例,释放资源。
```
c++
OH_AVScreenCapture_Release
(
capture
);
```
### 完整示例
下面展示了使用AVScreenCapture屏幕录制的完整示例代码。
```
c++
#include "multimedia/player_framework/native_avscreen_capture.h"
#include "multimedia/player_framework/native_avscreen_capture_base.h"
#include "multimedia/player_framework/native_avscreen_capture_errors.h"
void
OnError
(
struct
OH_AVScreenCapture
*
capture
,
int32_t
errorCode
)
{
(
void
)
capture
;
(
void
)
errorCode
;
}
void
OnAudioBufferAvailable
(
struct
OH_AVScreenCapture
*
capture
,
bool
isReady
,
OH_AudioCapSourceType
type
)
{
if
(
isReady
)
{
OH_AudioBuffer
*
audiobuffer
=
(
struct
OH_AudioBuffer
*
)
malloc
(
sizeof
(
OH_AudioBuffer
));
//获取音频流
int32_t
ret
=
OH_AVScreenCapture_AcquireAudioBuffer
(
capture
,
&
audiobuffer
,
type
);
/* get buffer */
(
void
)
audiobuffer
->
buf
;
/* getbuffer size */
(
void
)
audiobuffer
->
size
;
/* get audiobuffer timestampe */
(
void
)
audiobuffer
->
timestamp
;
free
(
audiobuffer
);
audiobuffer
=
nullptr
;
//释放音频流
int32_t
ret
=
OH_ScreenCapture_ReleaseAudioBuffer
(
capture
,
type
);
}
}
void
OnVideoBufferAvailable
(
struct
OH_ScreenCapture
*
capture
,
bool
isReady
)
{
if
(
isReady
)
{
int32_t
fence
=
0
;
int64_t
timestamp
=
0
;
struct
OH_Rect
damage
;
//获取视频流
OH_NativeBuffer
*
buffer
=
OH_ScreenCapture_AcquireVideoBuffer
(
capture
,
&
fence
,
&
timestamp
,
&
damage
);
void
*
virAddr
=
nullptr
;
OH_NativeBuffer_Map
(
buffer
,
&
virAddr
);
//获取buffer
OH_NativeBuffer_Config
config
;
OH_NativeBuffer_GetNativeBufferConfig
(
buffer
,
config
);
//获取config信息 宽,高,format
// fence, timestampe, damage 获取fence,时间戳,坐标信息
OH_NativeBuffer_UnMap
(
buffer
);
//释放buffer
//释放视频流
int32_t
ret
=
OH_ScreenCapture_ReleaseVideoBuffer
(
capture
);
}
}
int
main
()
{
//实例化ScreenCapture
struct
OH_AVScreenCapture
*
capture
=
OH_AVScreenCapture_Create
(
void
);
//设置回调
struct
OH_AVScreenCaptureCallback
callback
;
callback
.
onError
=
OnError
;
callack
.
onAudioBufferAvailable
=
OnAudioBufferAvailable
;
callack
.
onVideoBufferAvailable
=
OnVideoBufferAvailable
;
int32_t
ret
=
OH_AVScreenCapture_SetCallback
(
capture
,
callback
);
//初始化录屏,传入配置信息OH_AVScreenRecorderConfig
OH_AudioCaptureInfo
miccapinfo
=
{
.
audioSampleRate
=
16000
,
.
audioChannels
=
2
,
.
audioSource
=
OH_MIC
};
OH_VideoCaptureInfo
videocapinfo
=
{
.
videoFrameWidth
=
720
,
.
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
,
.
recorderInfo
=
recorderinfo
};
OH_AVScreenCapture_Init
(
capture
,
config
);
int32_t
ret
=
OH_AVScreenCapture_Init
(
capture
,
&
config
);
//开始录屏
int32_t
ret
=
OH_AVScreenCapture_StartScreenCapture
(
capture
);
//mic开关设置
int32_t
ret
=
OH_ScreenCapture_SetMicrophoneEnable
(
capture
,
true
);
sleep
(
10
);
//录制10s
//结束录屏
int32_t
ret
=
OH_ScreenCapture_StopScreenCapture
(
capture
);
//释放ScreenCapture
int32_t
ret
=
OH_ScreenCapture_Realease
(
capture
);
return
0
;
}
```
zh-cn/application-dev/media/avscreen-capture-overview.md
0 → 100644
浏览文件 @
d2f613bd
# 屏幕录制开发概述
## 如何选择屏幕录制开发方式
录屏取码流场景,主要用于直播类app,app需要获取录屏相关的音视频码流,然后通过流流转方式或者对接CDN服务器方式,达到直播时桌面共享的场景。app配置完音视频相关参数后 ,可启动录制,在录制过程中可以控制麦克风的开关,达到mic音频是否在直播时播放,结束 直播时刻停止录制。
另外,有些app有自己的编码器,因此需要获取的是原始码流,用于对接它内部自己的编码器 (比如:welink,内部采用webRTC,有自己的编码器)。有些app需要把流发布到CDN服务 器,那么他就需要编码后的码流。
-
[
开发屏幕录制功能
](
avscreen-capture-development.md
)
:用于音频输入的Native API,仅支持PCM格式,视频输入的Native API,仅支持YUV格式,需要应用持续读取音频数据和视频数据进行工作。应用可以在音频输出和视频输出后添加数据处理,要求开发者具备音频处理和视频处理的基础知识,适用于更专业、更多样化的媒体录制应用开发。
## 开发录制应用须知
应用可以调用麦克风录制音频,但该行为属于隐私敏感行为,在调用麦克风前,需要先向用户申请权限“ohos.permission.MICROPHONE”。
应用可以调用屏幕录制视频,但该行为属于隐私敏感行为,在调用屏幕录制前,需要先向用户申请权限“ohos.permission.CAPTURE_SCREEN”。
权限申请的流程请参考
[
访问控制授权申请指导
](
../security/accesstoken-guidelines.md
)
。
zh-cn/application-dev/reference/native-apis/_a_v_screen_capture.md
0 → 100644
浏览文件 @
d2f613bd
# AVScreenCapture
## 概述
AVScreenCapture模块提供用于屏幕录制的函数。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
|
[
native_avscreen_capture.h
](
native__avscreen_capture_8h.md
)
| 声明用于构造屏幕录制对象的Native API。
<br>
引用文件:
<multimedia
/
player_framework
/
native_avscreen_capture.h
>
|
|
[
native_avscreen_capture_base.h
](
native__avscreen_capture_base_8h.md
)
| 声明用于运行屏幕录制通用的结构体、字符常量、枚举。
<br>
引用文件:
<multimedia
/
player_framework
/
native_avscreen_capture_base.h
>
|
|
[
native_avscreen_capture_errors.h
](
native__avscreen_capture_errors_8h.md
)
| 声明用于运行屏幕录制过程中接口调用的错误码说明。
<br>
引用文件:
<multimedia
/
player_framework
/
native_avscreen_capture_errors.h
>
|
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
\*
[
OH_AVScreenCapture_Create
](
#oh_avscreencapture_create
)
(
void
)
| 实例化对象,创建OH_AVScreenCapture。 |
|
[
OH_AVScreenCapture_Init
](
#oh_avscreencapture_init
)
(
OH_AVScreenCapture
\*
capture, OH_AVScreenCaptureConfig config) | 初始化录屏实例相关参数,实现对图形子系统和音频子系统相关初始化工作。 |
|
[
OH_AVScreenCapture_StartScreenCapture
](
#oh_avscreencapture_startscreencapture
)
(
OH_AVScreenCapture
\*
capture) | 开始录屏,调用后可以通过相关接口拿到视频和音频的原始码流 |
|
[
OH_AVScreenCapture_StopScreenCapture
](
#oh_avscreencapture_stopscreencapture
)
(
OH_AVScreenCapture
\*
capture) | 结束录屏 |
|
[
OH_AVScreenCapture_AcquireAudioBuffer
](
#oh_avscreencapture_acquireaudiobuffer
)
(
OH_AVScreenCapture
\*
capture, OH_AudioBuffer
\*\*
audiobuffer, OH_AudioCaptureSourceType type) | 获取音频原始码流接口,包括音频流的类型和长度相关信息 |
|
\*
[
OH_AVScreenCapture_AcquireVideoBuffer
](
#oh_avscreencapture_acquirevideobuffer
)
(
OH_AVScreenCapture
\*
capture, int32_t
\*
fence, int64_t
\*
timestamp, struct OH_Rect
\*
region) | 获取视频原始码流接口,通过此接口可以获取视频码流以及每帧视频的信息 |
|
[
OH_AVScreenCapture_ReleaseAudioBuffer
](
#oh_avscreencapture_releaseaudiobuffer
)
(
OH_AVScreenCapture
\*
capture, OH_AudioCaptureSourceType type) | 释放根据音频类型释放音频buffer,用于用完的音频的buffer的释放 |
|
[
OH_AVScreenCapture_ReleaseVideoBuffer
](
#oh_avscreencapture_releasevideobuffer
)
(
OH_AVScreenCapture
\*
capture) | 释放视频的buffer,用于用完的视频的buffer的释放 |
|
[
OH_AVScreenCapture_SetCallback
](
#oh_acscreencapture_setcallback
)
(
OH_AVScreenCapture
\*
capture, OH_AVScreenCaptureCallback callback) | 设置回调的接口,用于回调相关事件的监听 |
|
[
OH_AVScreenCapture_SetMicrophoneEnabled
](
#oh_avscreencapture_setmicrophoneenabled
)
(
OH_AVScreenCapture
\*
capture, bool isMicrophone) | 设置麦克风开关,关闭时,将获得无声的音频数据 |
|
[
OH_AVScreenCapture_Release
](
#oh_avscreencapture_release
)
(
OH_AVScreenCapture
\*
capture) | 用于录屏实例对象的释放 |
## 函数说明
### OH_AVScreenCapture_Create()
```
struct OH_AVScreenCapture *OH_AVScreenCapture_Create(void);
```
**描述:**
实例化对象,创建OH_AVScreenCapture。可以通过调用 OH_AVScreenCapture_Release 释放实例。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| void | 无需入参函数 |
**返回:**
返回一个指向OH_AVScreenCapture实例的指针。
**起始版本:**
10
### OH_AVScreenCapture_Init()
```
OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Init(struct OH_AVScreenCapture *capture, OH_AVScreenCaptureConfig config);
```
**描述:**
初始化OH_AVScreenCapture相关参数,包括下发的音频麦克风采样信息参数,音频内录相关参数(可选),视频分辨率相关参数
调用此函数,需要向申请麦克风权限(ohos.permission.MICROPHONE)和截屏权限(ohos.permission.CAPTURE_SCREEN),否则会初始化失败导致无法正常录屏
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | 指向OH_AVScreenCapture实例的指针。 |
| config | 录屏初始化相关参数。 |
**返回:**
执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅
[
OH_AVSCREEN_CAPTURE_ErrCode
](
_core.md#native__avscreen_capture_errors_8h.md
)
。
**起始版本:**
10
### OH_AVScreenCapture_StartScreenCapture()
```
OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenCapture(struct OH_AVScreenCapture *capture);
```
**描述:**
开始录屏接口,调用该接口后,可以通过回调的监听(OH_AVScreenCaptureOnAudioBufferAvailable,OH_AVScreenCaptureOnVideoBufferAvailable)来监听当前是否有码流的产生。
通过调用获取音频buffer(OH_AVScreenCapture_AcquireAudioBuffer)和视频buffer(OH_AVScreenCapture_ReleaseVideoBuffer)的接口来获取录屏的原始码流
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | 指向OH_AVScreenCapture实例的指针。 |
**返回:**
执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅
[
OH_AVSCREEN_CAPTURE_ErrCode
](
_core.md#native__avscreen_capture_errors_8h.md
)
。
**起始版本:**
10
### OH_AVScreenCapture_StopScreenRecording()
```
OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StopScreenRecording(struct OH_AVScreenCapture *capture);
```
**描述:**
停止录屏接口, 主要用于停止录屏数据的继续生产
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | 指向OH_AVScreenCapture实例的指针。 |
**返回:**
执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅
[
OH_AVSCREEN_CAPTURE_ErrCode
](
_core.md#native__avscreen_capture_errors_8h.md
)
。
**起始版本:**
10
### OH_AVScreenCapture_AcquireAudioBuffer()
```
OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_AcquireAudioBuffer(struct OH_AVScreenCapture *capture, OH_AudioBuffer **audiobuffer, OH_AudioCaptureSourceType type);
```
**描述:**
获取音频buffer,应用在调用时,需要对audiobuffer分配对应结构体大小的内存,否则会影响拿到音频buffer的获取
buffer使用完成后,调用OH_AVScreenCapture_ReleaseAudioBuffer接口进行音频buffer的释放
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | 指向OH_AVScreenCapture实例的指针。 |
| audiobuffer | 保存音频buffer的结构体,通过该结构体获取到音频buffer以及buffer的时间戳等信息。 |
| type | 音频buffer的类型,区分mic流还是内录流。 |
**返回:**
执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅
[
OH_AVSCREEN_CAPTURE_ErrCode
](
_core.md#native__avscreen_capture_errors_8h.md
)
。
**起始版本:**
10
### OH_AVScreenCapture_AcquireVideoBuffer()
```
OH_NativeBuffer* OH_AVScreenCapture_AcquireVideoBuffer(struct OH_AVScreenCapture *capture, int32_t *fence, int64_t *timestamp, struct OH_Rect *region);
```
**描述:**
获取视频buffer,应用在调用时,通过此接口来获取到视频的buffer以及时间戳等信息
buffer使用完成后,调用OH_AVScreenCapture_ReleaseVideoBuffer接口进行视频buffer的释放
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | 指向OH_AVScreenCapture实例的指针。 |
| fence | 用于同步的显示相关参数信息。|
| timestamp | 视频帧的时间戳 |
| region | 视频显示相关的坐标信息 |
**返回:**
执行成功返回OH_NativeBuffer对象, 通过OH_NativeBuffer对象相关接口可以获取到视频buffer和粉分辨率等信息参数。
**起始版本:**
10
### OH_AVScreenCapture_ReleaseAudioBuffer()
```
OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseAudioBuffer(struct OH_AVScreenCapture *capture, OH_AudioCaptureSourceType type);
```
**描述:**
释放音频buffer, 与OH_AVScreenCapture_AcquireAudioBuffer相对应,当某一帧音频buffer使用完成后,调用此接口进行释放对应的音频buffer
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | 指向OH_AVScreenCapture实例的指针。 |
| type | 音频buffer的类型,区分mic流还是内录流。|
**返回:**
执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅
[
OH_AVSCREEN_CAPTURE_ErrCode
](
_core.md#native__avscreen_capture_errors_8h.md
)
。
**起始版本:**
10
### OH_AVScreenCapture_ReleaseVideoBuffer()
```
OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseVideoBuffer(struct OH_AVScreenCapture *capture);
```
**描述:**
释放视频buffer, 与OH_AVScreenCapture_AcquireVideoBuffer相对应,当某一帧视频buffer使用完成后,调用此接口进行释放对应的视频buffer
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | 指向OH_AVScreenCapture实例的指针。 |
**返回:**
执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅
[
OH_AVSCREEN_CAPTURE_ErrCode
](
_core.md#native__avscreen_capture_errors_8h.md
)
。
**起始版本:**
10
### OH_AVScreenCapture_SetCallback()
```
OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetCallback(struct OH_AVScreenCapture *capture, struct OH_AVScreenCaptureCallback callback);
```
**描述:**
设置监听接口,通过设置监听,可以监听到调用过程中的错误信息,以及是否有可用的视频buffer和音频buffer
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | 指向OH_AVScreenCapture实例的指针。 |
| callback | OH_AVScreenCaptureCallback的结构体,保存相关回调函数指针。 |
**返回:**
执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅
[
OH_AVSCREEN_CAPTURE_ErrCode
](
_core.md#native__avscreen_capture_errors_8h.md
)
。
**起始版本:**
10
### OH_AVScreenCapture_SetMicrophoneEnabled()
```
OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetMicrophoneEnabled(struct OH_AVScreenCapture *capture, bool isMicrophone);
```
**描述:**
设置mic开关,isMicrophone为true时,则打开麦克风,通过调用OH_AVScreenCapture_StartScreenRecording和OH_AVScreenCapture_AcquireAudioBuffer可以正常获取到音频的麦克风原始pcm数据,为false时,获取到的音频数据为无声数据
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | 指向OH_AVScreenCapture实例的指针。 |
| isMicrophone | 麦克风开关参数 |
**返回:**
执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅
[
OH_AVSCREEN_CAPTURE_ErrCode
](
_core.md#native__avscreen_capture_errors_8h.md
)
。
**起始版本:**
10
### OH_AVScreenCapture_Release()
```
OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Release(struct OH_AVScreenCapture *capture);
```
**描述:**
将创建的OH_AVScreenCapture实例进行释放,对应OH_AVScreenCapture_Create
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | 指向OH_AVScreenCapture实例的指针。 |
**返回:**
执行成功返回AV_SCREEN_CAPTURE_ERR_OK, 否则返回具体错误码,请参阅
[
OH_AVSCREEN_CAPTURE_ErrCode
](
_core.md#native__avscreen_capture_errors_8h.md
)
。
**起始版本:**
10
\ No newline at end of file
zh-cn/application-dev/reference/native-apis/_a_v_screen_capture_base.md
0 → 100644
浏览文件 @
d2f613bd
# AVScreenCaptureBase
## 概述
AVScreenCaptureBase模块提供运行录屏通用的结构体、字符常量、枚举。该模块部分参数暂时不支持,在以下说明中会详细解答。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AudioCaptureInfo
](
#oh_audiocaptureinfo
)
| 定义音频录制audiocapture实例的描述信息。 |
|
[
OH_AudioEncInfo
](
#oh_audioencinfo
)
| 定义音频的编码数据的描述信息。 |
|
[
OH_AudioInfo
](
#oh_audioinfo
)
| 定义屏幕录制时音频的描述信息。 |
|
[
OH_VideoCaptureInfo
](
#oh_videocaptureinfo
)
| 定义屏幕录制中视频录制采集的描述信息。 |
|
[
OH_VideoEncInfo
](
#oh_videoencinfo
)
| 定义屏幕录制中视频的编码数据描述信息。 |
|
[
OH_VideoInfo
](
#oh_videoinfo
)
| 定义屏幕录制时视频的描述信息。 |
|
[
OH_RecorderInfo
](
#oh_recorderinfo
)
| 定义屏幕录制保存音视频文件的参数描述信息。 |
|
[
OH_AVScreenCaptureConfig
](
#oh_avscreencaptureconfig
)
| 定义整体avscreencapture的配置信息。 |
|
[
OH_AVScreenCaptureCallback
](
_a_v_screen_capture_callback.md
)
| 定义avscreencapture的回调信息,包含不同的回调函数类型。 |
|
[
OH_Rect
](
#oh_rect
)
| 定义录屏的宽高以及画面信息。 |
|
[
OH_AudioBuffer
](
#oh_audiobuffer
)
| 定义了音频数据的大小,类型,时间戳等配置信息。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
| (
\*
[
OH_AVScreenCaptureOnError
](
#oh_avscreencaptureonerror
)
) (OH_AVScreenCapture
\*
capture, int32_t errorCode)| 当screencapture在运行过程中执行某一流程出现错误,则调用该函数指针并上报错误码。 |
| (
\*
[
OH_AVScreenCaptureOnAudioBufferAvailable
](
#oh_avscreencaptureonaudiobufferavailable
)
) (OH_AVScreenCapture
\*
capture, bool isReady, OH_AudioCaptureSourceType type)| 当screencapture在运行,音频缓冲可用时,调用该函数指针并更新状态信息。 |
| (
\*
[
OH_AVScreenCaptureOnVideoBufferAvailable
](
#oh_avscreencaptureonvideobufferavailable
)
) (OH_AVScreenCapture
\*
capture, bool isReady)| 当screencapture在运行,视频缓冲可用时,调用该函数指针并更新状态信息。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_CaptureMode
](
#oh_capturemode
)
{
<br/>
**OH_CAPTURE_HOME_SCREEN**
= 0,
**OH_CAPTURE_SPECIFIED_SCREEN**
= 1,
**OH_CAPTURE_SPECIFIED_WINDOW**
= 2,
**OH_CAPTURE_INVAILD**
= -1
<br/>
} | 屏幕录制的不同模式。 |
|
[
OH_AudioCaptureSourceType
](
#oh_audiocapturesourcetype
)
{
<br/>
**OH_SOURCE_INVALID**
= -1,
**OH_SOURCE_DEFAULT**
= 0,
**OH_MIC**
= 1,
**OH_ALL_PLAYBACK**
= 2,
**OH_APP_PLAYBACK**
= 3
<br/>
} | 屏幕录制音频的不同source类型。 |
|
[
OH_AudioCodecFormat
](
#oh_audiocodecformat
)
{
<br/>
**OH_AUDIO_DEFAULT**
= 0,
**OH_AAC_LC**
= 3,
**OH_AUDIO_CODEC_FORMAT_BUTT**
,
<br/>
} | 屏幕录制音频的不同的编码格式。 |
|
[
OH_VideoCodecFormat
](
#oh_videocodecformat
)
{
<br/>
**OH_VIDEO_DEFAULT**
= 0,
**OH_H264**
= 2,
**OH_H265**
= 4,
**OH_MPEG4**
= 6,
**OH_VP8**
= 8,
**OH_VP9**
= 10,
**OH_VIDEO_CODEC_FORMAT_BUTT**
<br/>
} | 屏幕录制视频的不同编码格式。 |
|
[
OH_DataType
](
#oh_datatype
)
{
<br/>
**OH_ORIGINAL_STREAM**
= 0,
**OH_ENCODED_STREAM**
= 1,
**OH_CAPTURE_FILE**
= 2,
**OH_INVAILD**
= -1
<br/>
} | 屏幕录制流的数据格式,编码格式,以及保存文件格式等参数。 |
|
[
OH_VideoSourceType
](
#oh_videosourcetype
)
{
<br/>
**OH_VIDEO_SOURCE_SURFACE_YUV**
= 0,
**OH_VIDEO_SOURCE_SURFACE_ES**
,
**OH_VIDEO_SOURCE_SURFACE_RGBA**
,
**OH_VIDEO_SOURCE_BUTT**
<br/>
} | 屏幕录制视频的不同source类型。 |
|
[
OH_ContainerFormatType
](
#oh_containerformattype
)
{
<br/>
**CFT_MPEG_4A**
= 0,
**CFT_MPEG_4**
= 1
<br/>
} | 屏幕录制生成物的不同音视频格式类型。 |
### 变量
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AudioCaptureInfo::audioSampleRate
](
#audiosamplerate
)
| 录屏音频采样率, 支持列表见
[
OH_AudioCapturer_GetSamplingRate
](
#_o_h_audio.md#oh_audiocapturer_getsamplingrate
)
。 |
|
[
OH_AudioCaptureInfo::audioChannels
](
#audiochannels
)
| 录屏音频声道数。 |
|
[
OH_AudioCaptureInfo::audioSource
](
#audiosource
)
| 录屏音频的source源,如麦克风或者内录。 |
|
[
OH_AudioEncInfo::audioBitrate
](
#audioBitrate
)
| 录制音频的比特率,用于编码相关参数的设置。 |
|
[
OH_AudioEncInfo::audioCodecformat
](
#audiocodecformat
)
| 录制音频的编码格式。 |
|
[
OH_AudioInfo::micCapInfo
](
#miccapinfo
)
| 录制的mic的音频参数设置,设置类型为OH_AudioCaptureInfo。 |
|
[
OH_AudioInfo::innerCapInfo
](
#innercapinfo
)
| 录制的内录的音频参数设置,设置类型为OH_AudioCaptureInfo。 |
|
[
OH_AudioInfo::audioEncInfo
](
#audioencinfo
)
| 录制音频编码的相关参数,设置类型为OH_AudioEncInfo。 |
|
[
OH_VideoCaptureInfo::displayId
](
#displayId
)
| 录制物理屏id,使用该参数需要在capturemode为CAPTURE_SPECIFIED_SCREEN模式下使用。 |
|
[
OH_VideoCaptureInfo::missionIDs
](
#missionids
)
| 指定窗口id列表,使用该参数需要在capturemode为CAPTURE_SPECIFIED_WINDOW模式下使用。 |
|
[
OH_VideoCaptureInfo::missionIDsLen
](
#missionidslen
)
| 指定窗口的,使用该参数需要在capturemode为CAPTURE_SPECIFIED_WINDOW模式下使用。 |
|
[
OH_VideoCaptureInfo::videoFrameWidth
](
#videoframewidth
)
| 采集视频的宽度设置。 |
|
[
OH_VideoCaptureInfo::videoFrameHeight
](
#videoframeheight
)
| 采集视频的高度设置。 |
|
[
OH_VideoCaptureInfo::videoSource
](
#videosource
)
| 视频采集格式设置,目前仅支持RGBA格式。 |
|
[
OH_VideoEncInfo::videoCodec
](
#videocodec
)
| 视频采集编码格式,类型为OH_VideoCodecFormat。 |
|
[
OH_VideoEncInfo::videoBitrate
](
#videobitrate
)
| 视频采集比特率。 |
|
[
OH_VideoEncInfo::videoFrameRate
](
#videoframerate
)
| 视频采集帧率。 |
|
[
OH_VideoInfo::videoCapInfo
](
#videocapinfo
)
| 视频采集信息的设置,设置类型为OH_VideoCaptureInfo。 |
|
[
OH_VideoInfo::videoEncInfo
](
#videoencinfo
)
| 视频编码参数的设置,设置类型为OH_VideoEncInfo。 |
|
[
OH_RecorderInfo::\*url
](
#*\url
)
| 录屏生成文件路径设置。 |
|
[
OH_RecorderInfo::urlLen
](
#urllen
)
| 录屏生成文件路径字符的长度。 |
|
[
OH_RecorderInfo::fileFormat
](
#fileformat
)
| 录屏生成文件格式设置,如mp4格式。 |
|
[
OH_AVScreenCaptureConfig::captureMode
](
#capturemode
)
| 屏幕录制方式,如全屏录制,指定物理屏录制或者指定窗口录制。 |
|
[
OH_AVScreenCaptureConfig::dataType
](
#datatype
)
| 屏幕录制的形式,比如录制原始码流,编码后码流还是文件。 |
|
[
OH_AVScreenCaptureConfig::audioInfo
](
#audioinfo
)
| 录制音频相关参数设置,类型为OH_AudioInfo。 |
|
[
OH_AVScreenCaptureConfig::videoInfo
](
#videoinfo
)
| 录制视频相关参数设置,类型为OH_VideoInfo。 |
|
[
OH_AVScreenCaptureConfig::recorderInfo
](
#recorderinfo
)
| 录屏生成文件相关参数设置,类型为OH_RecorderInfo。 |
|
[
OH_AVScreenCaptureCallback::onError
](
_a_v_screen_capture_callback.md#onerror
)
| 录屏过程中错误事件的监听函数。 |
|
[
OH_AVScreenCaptureCallback::onAudioBufferAvailable
](
_a_v_screen_capture_callback.md#onaudiobufferavailable
)
| 录屏过程中音频流产生的监听。 |
|
[
OH_AVScreenCaptureCallback::onVideoBufferAvailable
](
_a_v_screen_capture_callback.md#onvideobufferavailable
)
| 录屏过程中视频流产生的监听。 |
|
[
OH_Rect::x
](
#x
)
| 视频数据的x坐标。 |
|
[
OH_Rect::y
](
#y
)
| 视频数据的y坐标。 |
|
[
OH_Rect::width
](
#width
)
| 视频宽度。 |
|
[
OH_Rect::height
](
#height
)
| 视频高度。 |
|
[
OH_AudioBuffer::\*buf
](
#buf
)
| 存放音频数据。 |
|
[
OH_AudioBuffer::size
](
#size
)
| 存放音频每一帧数据的长度。 |
|
[
OH_AudioBuffer::timestamp
](
#timestamp
)
| 音频的时间戳。 |
|
[
OH_AudioBuffer::type
](
#type
)
| 音频数据源类型,比如内录源还是mic。 |
## 类型定义说明
# OH_AudioCaptureInfo
```
typedef struct OH_AudioCaptureInfo OH_AudioCaptureInfo
```
## 概述
定义音频录制audiocapture实例的描述信息。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
audioSampleRate
](
#audiosampleratets
)
| 录屏音频采样率。 |
|
[
audioSampleRate;
](
#audichannels
)
| 录制音频的声道数。 |
|
[
audioSource
](
#audiosource
)
| 录屏音频的source源,如麦克风或者内录。 |
## 结构体成员变量说明
### audiosamplerate
```
int32_t audioSampleRate
```
**描述:**
音频采样率,支持列表见
[
OH_AudioCapturer_GetSamplingRate
](
#_o_h_audio.md#oh_audiocapturer_getsamplingrate
)
。
**起始版本:**
10
### audioChannels
```
int32_t audioChannels
```
**描述:**
采样声道数。
**起始版本:**
10
### audioSource
```
OH_AudioCaptureSourceType audioSource;
```
**描述:**
录屏音频的source源,如麦克风或者内录。
**起始版本:**
10
# OH_AudioEncInfo
```
typedef struct OH_AudioCaptureInfo OH_AudioCaptureInfo
```
## 概述
定义音频的编码数据的描述信息。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
audioBitrate
](
#audioBitrate
)
| 录屏音频比特率。 |
|
[
audioCodecformat
](
#audioCodecformat
)
| 录屏音频编码格式。 |
## 结构体成员变量说明
### audioBitrate
```
int32_t audioBitrate
```
**描述:**
录屏音频比特率。
**起始版本:**
10
### audioCodecformat
```
OH_AudioCodecFormat audioCodecformat
```
**描述:**
录屏音频编码格式。
**起始版本:**
10
# OH_AudioInfo
```
typedef struct OH_AudioInfo
```
## 概述
定义屏幕录制音频的描述信息。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
micCapInfo
](
#micCapInfo
)
| 麦克风录制信息。 |
|
[
innerCapInfo
](
#innerCapInfo
)
| 内录录制信息。 |
|
[
audioEncInfo
](
#audioEncInfo
)
| 音频编码信息。 |
## 结构体成员变量说明
### micCapInfo
```
OH_AudioCaptureInfo micCapInfo
```
**描述:**
麦克风录制信息。
**起始版本:**
10
### innerCapInfo
```
OH_AudioCaptureInfo innerCapInfo
```
**描述:**
声音内录录制信息。
**起始版本:**
10
### audioEncInfo
```
OH_AudioCaptureInfo audioEncInfo
```
**描述:**
音频编码信息。
**起始版本:**
10
# OH_VideoCaptureInfo
```
typedef struct OH_VideoCaptureInfo OH_VideoCaptureInfo
```
## 概述
定义屏幕录制中视频录制的描述信息。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
displayId
](
#displayId
)
| 录屏显示id。 |
|
[
\*missionIDs
](
#\*missionIDs
)
| 录屏任务id。 |
|
[
missionIDsLen
](
#missionIDsLen
)
| 录屏任务id长度。 |
|
[
videoFrameWidth
](
#videoFrameWidth
)
| 录屏视频帧宽。 |
|
[
videoFrameHeight
](
#videoFrameHeight
)
| 录屏视频帧高。 |
|
[
videoSource
](
#videoSource
)
| 录屏视频数据源。 |
## 结构体成员变量说明
### displayId
```
uint64_t displayId
```
**描述:**
录屏的显示id,用于选择绑定指定屏幕录屏。
**起始版本:**
10
### \*missionIDs
```
int32_t *missionIDs
```
**描述:**
指定特定屏幕录屏时,对应的录屏任务id信息。
**起始版本:**
10
### missionIDsLen
```
int32_t missionIDsLen
```
**描述:**
指定特定屏幕录屏时,录屏任务id信息长度。
**起始版本:**
10
### videoFrameWidth
```
int32_t videoFrameWidth
```
**描述:**
视频分辨率中的帧宽参数。
**起始版本:**
10
### videoFrameHeight
```
int32_t videoFrameHeight
```
**描述:**
视频分辨率中的帧高参数。
**起始版本:**
10
### videoSource
```
OH_VideoSourceType videoSource
```
**描述:**
录屏视频源类型参数。
**起始版本:**
10
# OH_VideoEncInfo
```
typedef struct OH_VideoEncInfo OH_VideoEncInfo
```
## 概述
定义屏幕录制中视频数据的编码信息。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
videoCodec
](
#videoCodec
)
| 视频数据编码信息。 |
|
[
videoBitrate
](
#videoBitrate
)
| 视频数据比特率信息。 |
|
[
videoFrameRate
](
#videoFrameRate
)
| 视频数据帧率参数。 |
## 结构体成员变量说明
### videoCodec
```
OH_VideoCodecFormat videoCodec
```
**描述:**
录屏视频数据的编码信息。
**起始版本:**
10
### videoBitrate
```
int32_t videoBitrate
```
**描述:**
录屏视频数据的比特率信息。
**起始版本:**
10
### videoFrameRate
```
int32_t videoFrameRate
```
**描述:**
录屏视频数据的帧率信息。
**起始版本:**
10
# OH_VideoInfo
```
typedef struct OH_VideoInfo OH_VideoInfo
```
## 概述
定义屏幕录制时视频的描述信息。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
videoCapInfo
](
#videoCapInfo
)
| 视频数据编码信息。 |
|
[
videoEncInfo
](
#videoEncInfo
)
| 视频数据比特率信息。 |
## 结构体成员变量说明
### videoCapInfo
```
OH_VideoCaptureInfo videoCapInfo
```
**描述:**
视频采集信息的设置,设置类型为OH_VideoCaptureInfo。
**起始版本:**
10
### videoEncInfo
```
OH_VideoEncInfo videoEncInfo
```
**描述:**
视频编码参数的设置,设置类型为OH_VideoEncInfo。
**起始版本:**
10
# OH_RecorderInfo
```
typedef struct OH_RecorderInfo OH_RecorderInfo
```
## 概述
定义屏幕录制保存音视频文件的参数描述信息。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
\*url
](
#\*url
)
| 视频数据编码信息。 |
|
[
urlLen
](
#urlLen
)
| 视频数据比特率信息。 |
## 结构体成员变量说明
### \*url
```
char *url
```
**描述:**
录屏生成文件路径设置。
**起始版本:**
10
### urlLen
```
uint32_t urlLen;
```
**描述:**
录屏生成文件路径字符的长度。
**起始版本:**
10
# OH_AVScreenCaptureConfig
```
typedef struct OH_AVScreenCaptureConfig OH_AVScreenCaptureConfig
```
## 概述
定义整体avscreencapture的配置信息。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
captureMode
](
#captureMode
)
| 屏幕录制方式,如全屏录制,指定物理屏录制或者指定窗口录制。 |
|
[
dataType
](
#dataType
)
| 屏幕录制的形式,比如录制原始码流,编码后码流还是文件。 |
|
[
audioInfo
](
#audioInfo
)
| 录制音频相关参数设置,类型为OH_AudioInfo。 |
|
[
videoInfo
](
#videoInfo
)
| 录制视频相关参数设置,类型为OH_VideoInfo。 |
|
[
recorderInfo
](
#recorderInfo
)
| 录屏生成文件相关参数设置,类型为OH_RecorderInfo。 |
## 结构体成员变量说明
### captureMode
```
OH_CaptureMode captureMode
```
**描述:**
屏幕录制方式,如全屏录制,指定物理屏录制或者指定窗口录制。
**起始版本:**
10
### dataType
```
OH_DataType dataType
```
**描述:**
屏幕录制的形式,比如录制原始码流,编码后码流还是文件。
**起始版本:**
10
### audioInfo
```
OH_AudioInfo audioInfo
```
**描述:**
录制音频相关参数设置,类型为OH_AudioInfo。
**起始版本:**
10
### videoInfo
```
OH_VideoInfo videoInfo
```
**描述:**
录制视频相关参数设置,类型为OH_VideoInfo。
**起始版本:**
10
### recorderInfo
```
OH_RecorderInfo recorderInfo
```
**描述:**
录屏生成文件相关参数设置,类型为OH_RecorderInfo。
**起始版本:**
10
# OH_AVScreenCaptureCallback
```
typedef struct OH_AVScreenCaptureCallback OH_AVScreenCaptureCallback
```
## 概述
定义avscreencapture的回调信息,包含不同的回调函数类型。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
onError
](
#onError
)
| 录屏过程中错误事件的监听函数。 |
|
[
onAudioBufferAvailable
](
#onAudioBufferAvailable
)
| 录屏过程中音频流产生的监听。 |
|
[
onVideoBufferAvailable
](
#onVideoBufferAvailable
)
| 录屏过程中视频流产生的监听。 |
## 结构体成员变量说明
### onError
```
OH_AVScreenCaptureOnError onError
```
**描述:**
录屏过程中错误事件的监听函数,具体错误码可参照
[
错误码说明文档
](
native__avscreen_capture_errors_8h.md#oh_avscreen_capture_errcode
)
。
**起始版本:**
10
### onAudioBufferAvailable
```
OH_AVScreenCaptureOnAudioBufferAvailable onAudioBufferAvailable
```
**描述:**
录屏过程中音频流产生的监听。
**起始版本:**
10
### onVideoBufferAvailable
```
OH_AVScreenCaptureOnVideoBufferAvailable onVideoBufferAvailable
```
**描述:**
录屏过程中视频流产生的监听。
**起始版本:**
10
# OH_Rect
```
typedef struct OH_Rect OH_Rect
```
## 概述
定义录屏的宽高以及画面信息。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
x
](
#x
)
| 视频数据的x坐标。 |
|
[
y
](
#y
)
| 视频数据的y坐标。 |
|
[
width
](
#width
)
| 视频宽度。 |
|
[
height
](
#height
)
| 视频高度。 |
## 结构体成员变量说明
### x
```
int32_t x
```
**描述:**
视频数据的x坐标。
**起始版本:**
10
### y
```
int32_t y
```
**描述:**
视频数据的y坐标。
**起始版本:**
10
### width
```
int32_t width
```
**描述:**
视频宽度。
**起始版本:**
10
### height
```
int32_t height
```
**描述:**
视频高度。
**起始版本:**
10
# OH_AudioBuffer
```
typedef struct OH_AudioBuffer OH_AudioBuffer
```
## 概述
定义了音频数据的大小,类型,时间戳等配置信息。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
\*buf
](
#\*buf
)
| 存放音频数据。 |
|
[
size
](
#size
)
| 存放音频每一帧数据的长度。 |
|
[
timestamp
](
#timestamp
)
| 音频的时间戳。 |
|
[
type
](
#type
)
| 音频数据源类型,比如内录源还是mic。 |
## 结构体成员变量说明
### \*buf
```
uint8_t *buf
```
**描述:**
存放音频数据。
**起始版本:**
10
### size
```
int32_t size
```
**描述:**
存放音频每一帧数据的长度。
**起始版本:**
10
### timestamp
```
int64_t timestamp
```
**描述:**
音频的时间戳。
**起始版本:**
10
### type
```
OH_AudioCaptureSourceType type
```
**描述:**
音频数据源类型,比如内录源还是mic。
**起始版本:**
10
### OH_AVScreenCaptureOnError
```
typedef void (*OH_AVScreenCaptureOnError)(OH_AVScreenCapture *capture, int32_t errorCode)
```
**描述:**
当实例AVScreenCapture运行出错时,会调用来上报具体的错误信息的函数指针。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | OH_AVScreenCapture实例 |
| errorCode | 特定错误码 |
### OH_AVScreenCaptureOnAudioBufferAvailable
```
typedef void (*OH_AVScreenCaptureOnAudioBufferAvailable)(OH_AVScreenCapture *capture, bool isReady, OH_AudioCaptureSourceType type)
```
**描述:**
当实例AVScreenCapture申请到音频数据可用时,回调来产生音频流监听。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | OH_AVScreenCapture实例 |
| isReady | 状态参数 |
| type | 音频数据源类型,比如内录源还是mic |
### OH_AVScreenCaptureOnVideoBufferAvailable
```
typedef void (*OH_AVScreenCaptureOnVideoBufferAvailable)(OH_AVScreenCapture *capture, bool isReady)
```
**描述:**
当实例AVScreenCapture申请到视频数据可用时,回调来产生视频流监听。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| capture | OH_AVScreenCapture实例 |
| isReady | 状态参数 |
### OH_CaptureMode
```
typedef enum OH_CaptureMode OH_CaptureMode
```
**描述:**
屏幕录制模式。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### OH_AudioCaptureSourceType
```
typedef enum OH_AudioCaptureSourceType OH_AudioCaptureSourceType
```
**描述:**
屏幕录制音频数据源类型,如内录或mic。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### OH_AudioCodecFormat
```
typedef enum OH_AudioCodecFormat OH_AudioCodecFormat
```
**描述:**
屏幕录制音频数据编码格式。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### OH_VideoCodecFormat
```
typedef enum OH_VideoCodecFormat OH_VideoCodecFormat
```
**描述:**
屏幕录制视频数据编码格式。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### OH_DataType
```
typedef enum OH_DataType OH_DataType
```
**描述:**
屏幕录制的形式,比如录制原始码流,编码后码流还是文件。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### OH_VideoSourceType
```
typedef enum OH_VideoSourceType OH_VideoSourceType
```
**描述:**
屏幕录制视频数据源类型,如手动设置或直接从显示中获取。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
### OH_ContainerFormatType
```
typedef enum OH_ContainerFormatType OH_ContainerFormatType
```
**描述:**
屏幕录制数据容器类型。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
## 枚举类型说明
### OH_CaptureMode
```
enum OH_CaptureMode
```
**描述:**
屏幕录制模式。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| OH_CAPTURE_HOME_SCREEN | 录制主屏幕模式。 |
| OH_CAPTURE_SPECIFIED_SCREEN | 录制指定屏幕模式。 |
| OH_CAPTURE_SPECIFIED_WINDOW | 录制指定窗口模式。 |
| OH_CAPTURE_INVAILD | 录制错误模式。 |
### OH_AudioCaptureSourceType
```
enum OH_AudioCaptureSourceType
```
**描述:**
音频录制数据源类型。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| OH_SOURCE_INVALID | 错误类型。 |
| OH_SOURCE_DEFAULT | 默认类型。 |
| OH_MIC | 麦克风类型。 |
| OH_ALL_PLAYBACK | 内录类型。 |
| OH_APP_PLAYBACK | 指定app内录类型。 |
### OH_AudioCodecFormat
```
enum OH_AudioCodecFormat
```
**描述:**
音频录制数据编码类型。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| OH_AUDIO_DEFAULT | 默认格式类型。 |
| OH_AAC_LC | aac_lc格式类型。 |
| OH_AUDIO_CODEC_FORMAT_BUTT | 错误格式类型。 |
### OH_VideoCodecFormat
```
enum OH_VideoCodecFormat
```
**描述:**
视频录制数据编码类型。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| OH_VIDEO_DEFAULT | 默认格式类型。 |
| OH_H264 | h264格式类型。 |
| OH_H265 | h265格式类型。 |
| OH_MPEG4 | mp4格式类型。 |
| OH_VP8 | vp8格式类型。 |
| OH_VP9 | vp9格式类型。 |
| OH_VIDEO_CODEC_FORMAT_BUTT | 错误格式类型。|
### OH_DataType
```
enum OH_DataType
```
**描述:**
录屏生成数据形式,码流或指定格式文件。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| OH_VIDEO_SOURCE_SURFACE_YUV | yuv格式类型。 |
| OH_VIDEO_SOURCE_SURFACE_ES | es格式类型。 |
| OH_VIDEO_SOURCE_SURFACE_RGBA | rgba格式类型。 |
| OH_VIDEO_SOURCE_BUTT | 错误格式类型。 |
### OH_ContainerFormatType
```
enum OH_ContainerFormatType
```
**描述:**
录制生成数据容器格式类型。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| CFT_MPEG_4A | 音频格式m4a格式。 |
| CFT_MPEG_4 | 视频格式mp4格式。 |
### OH_ContainerFormatType
```
enum OH_ContainerFormatType
```
**描述:**
录制生成数据容器格式类型。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| CFT_MPEG_4A | 音频格式m4a格式。 |
| CFT_MPEG_4 | 视频格式mp4格式。 |
\ No newline at end of file
zh-cn/application-dev/reference/native-apis/_a_v_screen_capture_callback.md
0 → 100644
浏览文件 @
d2f613bd
# OH_AVScreenCaptureCallback
## 概述
OH_AVScreenCapture中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVScreenCapture实例中, 并处理回调上报的信息,以保证OH_AVScreenCapture的正常运行。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
9
**相关模块:**
[
AVSCreenCaptureBase
](
_a_v_screen_capture_base.md
)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
|
[
onError
](
#onerror
)
| 监控录屏调用操作错误,请参见
[
OH_AVScreenCaptureOnError
](
_a_v_screen_capture_base.md#oh_avscreencaptureonerror
)
|
|
[
onAudioBufferAvailable
](
#onaudiobufferavailable
)
| 监控音频码流是否有数据产生
[
OH_AVScreenCaptureOnAudioBufferAvailable
](
_a_v_screen_capture_base.md#oh_avscreencaptureonaudiobufferavailable
)
|
|
[
onVideoBufferAvailable
](
#onvideobufferavailable
)
| 监控视频码流是否有数据产生
[
OH_AVScreenCaptureOnVideoBufferAvailable
](
_a_v_screen_capture_base.md#oh_avscreencaptureonvideobufferavailable
)
|
## 结构体成员变量说明
### onError
```
OH_AVScreenCaptureOnError onError
```
**描述:**
监控录屏调用操作错误,请参见
[
OH_AVScreenCaptureOnError
](
_a_v_screen_capture_base.md#oh_avscreencaptureonerror
)
**起始版本:**
10
### onAudioBufferAvailable
```
OH_AVScreenCaptureOnAudioBufferAvailable onAudioBufferAvailable
```
**描述:**
监控音频码流是否有数据产生
[
OH_AVScreenCaptureOnAudioBufferAvailable
](
_a_v_screen_capture_base.md#oh_avscreencaptureonaudiobufferavailable
)
**起始版本:**
10
### onVideoBufferAvailable
```
OH_AVScreenCaptureOnVideoBufferAvailable onVideoBufferAvailable
```
**描述:**
监控视频码流是否有数据产生
[
OH_AVScreenCaptureOnVideoBufferAvailable
](
_a_v_screen_capture_base.md#oh_avscreencaptureonvideobufferavailable
)
**起始版本:**
10
\ No newline at end of file
zh-cn/application-dev/reference/native-apis/native__avscreen_capture_8h.md
0 → 100644
浏览文件 @
d2f613bd
# native_avscreen_capture.h
## 概述
声明屏幕录制相关接口,
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
**相关模块:**
[
AVScreenCapture
](
_a_v_screen_capture.md
)
## 汇总
### 函数
| 名称 | 描述 |
| -------- | -------- |
|
\*
[
OH_AVScreenCapture_Create
](
_a_v_screen_capture.md#oh_avscreencapture_create
)
(
void
)
| 创建一个AVScreenCapture实例。 |
|
[
OH_AVScreenCapture_Init
](
_a_v_screen_capture.md#oh_avscreencapture_init
)
(
struct
OH_AVScreenCapture
\*
capture, OH_AVScreenCaptureConfig config) | 根据config配置初始化一个capture对象。 |
|
[
OH_AVScreenCapture_StartScreenCapture
](
_a_v_screen_capture.md#oh_avscreencapture_startscreencapture
)
(
struct
OH_AVScreenCapture
\*
capture) | 启动屏幕录制。 |
|
[
OH_AVScreenCapture_StopScreenCapture
](
_a_v_screen_capture.md#oh_avscreencapture_stopscreencapture
)
(
struct
OH_AVScreenCapture
\*
capture) | 停止屏幕录制。 |
|
[
OH_AVScreenCapture_StartScreenRecording
](
_a_v_screen_capture.md#oh_avscreencapture_startscreenrecording
)
(
struct
OH_AVScreenCapture
\*
capture) | 调用启动屏幕录制之后,调用该接口进行屏幕画面的录制。 |
|
[
OH_AVScreenCapture_StopScreenRecording
](
_a_v_screen_capture.md#oh_avscreencapture_stopscreenrecording
)
(
struct
OH_AVScreenCapture
\*
capture) | 调用停止屏幕录制之后,调用该接口停止屏幕画面的录制。 |
|
[
OH_AVScreenCapture_AcquireAudioBuffer
](
_a_v_screen_capture.md#oh_avscreencapture_acquireaudiobuffer
)
(
struct
OH_AVScreenCapture
\*
capture, OH_AudioBuffer
\*\*
audiobuffer, OH_AudioCaptureSourceType type) | 调用开始录制接口后,调用该接口进行音频buffer的申请,获取音频buffer信息。 |
|
[
OH_AVScreenCapture_AcquireVideoBuffer
](
_a_v_screen_capture.md#oh_avscreencapture_acquirevideobuffer
)
(
struct
OH_AVScreenCapture
\*
capture, int32_t
\*
fence, int64_t
\*
timestamp, OH_Rect
\*
region) | 调用开始录制接口后,调用该接口进行视频buffer的申请,获取视频buffer信息。 |
|
[
OH_AVScreenCapture_ReleaseAudioBuffer
](
_a_v_screen_capture.md#oh_avscreencapture_releaseaudiobuffer
)
(
struct
OH_AVScreenCapture
\*
capture,
OH_AudioCaptureSourceType type) | 停止录制后,调用接口释放指定screencapture实例中的音频数据。 |
|
[
OH_AVScreenCapture_ReleaseVideoBuffer
](
_a_v_screen_capture.md#oh_avscreencapture_releasevideobuffer
)
(
struct
OH_AVScreenCapture
\*
capture) |
|
[
OH_AVScreenCapture_SetCallback
](
_a_v_screen_capture.md#oh_avscreencapture_setcallback
)
(
struct
OH_AVScreenCapture
\*
capture, struct OH_AVScreenCaptureCallback callback) | 停止录制后,调用接口释放指定screencapture实例中的视频数据。 |
|
[
OH_AVScreenCapture_Release
](
_a_v_screen_capture.md#oh_avscreencapture_release
)
(
struct
OH_AVScreenCapture
\*
capture) | 停止录制流程结束后,调用接口进行指定avscreencapture实例的释放。 |
|
[
OH_AVScreenCapture_SetMicrophoneEnabled
](
_a_v_screen_capture.md#oh_avscreencapture_setmicrophoneenabled
)
(
struct
OH_AVScreenCapture
\*
capture, bool isMicrophone) | 设置麦克风在屏幕录制期间是否启用。 |
\ No newline at end of file
zh-cn/application-dev/reference/native-apis/native__avscreen_capture_base_8h.md
0 → 100644
浏览文件 @
d2f613bd
# native_avscreen_capture_base.h
## 概述
声明运行屏幕录制通用的结构体、字符常量、枚举
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
**相关模块:**
[
AVScreenCapture
](
_a_v_screen_capture.md
)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AudioCaptureInfo
](
_a_v_screen_capture_base.md#oh_audiocaptureinfo
)
| 定义音频录制audiocapture实例的描述信息。 |
|
[
OH_AudioEncInfo
](
_a_v_screen_capture_base.md#oh_audioencinfo
)
| 定义音频的编码数据的描述信息。 |
|
[
OH_AudioInfo
](
_a_v_screen_capture_base.md#oh_audioinfo
)
| 定义屏幕录制时音频的描述信息。 |
|
[
OH_VideoCaptureInfo
](
_a_v_screen_capture_base.md#oh_videocaptureinfo
)
| 定义屏幕录制中视频录制capture的描述信息。 |
|
[
OH_VideoEncInfo
](
_a_v_screen_capture_base.md#oh_videoencinfo
)
| 定义屏幕录制中视频的编码数据描述信息。 |
|
[
OH_VideoInfo
](
_a_v_screen_capture_base.md#oh_videoinfo
)
| 定义屏幕录制时视频的描述信息。 |
|
[
OH_RecorderInfo
](
_a_v_screen_capture_base.md#oh_recorderinfo
)
| 定义屏幕录制保存音视频文件的参数描述信息。 |
|
[
OH_AVScreenCaptureConfig
](
_a_v_screen_capture_base.md#oh_avscreencaptureconfig
)
| 定义整体avscreencapture的配置信息。 |
|
[
OH_AVScreenCaptureCallback
](
_a_v_screen_capture_callback.md
)
| 定义avscreencapture的回调信息,包含不同的回调函数类型。 |
|
[
OH_Rect
](
_a_v_screen_capture_base.md#oh_rect
)
| 定义录屏的宽高以及画面信息。 |
|
[
OH_AudioBuffer
](
_a_v_screen_capture_base.md#oh_audiobuffer
)
| 定义了音频数据的大小,类型,时间戳等配置信息。 |
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
| (
\*
[
OH_AVScreenCaptureOnError
](
_a_v_screen_capture_base.md#oh_avscreencaptureonerror
)
) (OH_AVScreenCapture
\*
capture, int32_t errorCode)| 当screencapture在运行过程中执行某一流程出现错误,则调用该函数指针并上报错误码。 |
| (
\*
[
OH_AVScreenCaptureOnAudioBufferAvailable
](
_a_v_screen_capture_base.md#avscreencaptureonaudiobufferavailable
)
) (OH_AVScreenCapture
\*
capture, bool isReady, OH_AudioCaptureSourceType type)| 当screencapture在运行,音频缓冲可用时,调用该函数指针并更新状态信息。 |
| (
\*
[
OH_AVScreenCaptureOnVideoBufferAvailable
](
_a_v_screen_capture_base.md#avscreencaptureonvideobufferavailable
)
) (OH_AVScreenCapture
\*
capture, bool isReady)| 当screencapture在运行,视频缓冲可用时,调用该函数指针并更新状态信息。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_CaptureMode
](
_a_v_screen_capture_base.md#oh_capturemode
)
{
<br/>
**OH_CAPTURE_HOME_SCREEN**
= 0,
**OH_CAPTURE_SPECIFIED_SCREEN**
= 1,
**OH_CAPTURE_SPECIFIED_WINDOW**
= 2,
**OH_CAPTURE_INVAILD**
= -1
<br/>
} | 屏幕录制的不同模式。 |
|
[
OH_AudioCaptureSourceType
](
_a_v_screen_capture_base.md#oh_audiocapturesourcetype
)
{
<br/>
**OH_SOURCE_INVALID**
= -1,
**OH_SOURCE_DEFAULT**
= 0,
**OH_MIC**
= 1,
**OH_ALL_PLAYBACK**
= 2,
**OH_APP_PLAYBACK**
= 3
<br/>
} | 屏幕录制音频的不同source类型。 |
|
[
OH_AudioCodecFormat
](
_a_v_screen_capture_base.md#oh_audiocodecformat
)
{
<br/>
**OH_AUDIO_DEFAULT**
= 0,
**OH_AAC_LC**
= 3,
**OH_AUDIO_CODEC_FORMAT_BUTT**
,
<br/>
} | 屏幕录制音频的不同的编码格式。 |
|
[
OH_VideoCodecFormat
](
_a_v_screen_capture_base.md#oh_videocodecformat
)
{
<br/>
**OH_VIDEO_DEFAULT**
= 0,
**OH_H264**
= 2,
**OH_H265**
= 4,
**OH_MPEG4**
= 6,
**OH_VP8**
= 8,
**OH_VP9**
= 10,
**OH_VIDEO_CODEC_FORMAT_BUTT**
<br/>
} | 屏幕录制视频的不同编码格式。 |
|
[
OH_DataType
](
_a_v_screen_capture_base.md#oh_datatype
)
{
<br/>
**OH_ORIGINAL_STREAM**
= 0,
**OH_ENCODED_STREAM**
= 1,
**OH_CAPTURE_FILE**
= 2,
**OH_INVAILD**
= -1
<br/>
} | 屏幕录制流的数据格式,编码格式,以及保存文件格式等参数。 |
|
[
OH_VideoSourceType
](
_a_v_screen_capture_base.md#oh_videosourcetype
)
{
<br/>
**OH_VIDEO_SOURCE_SURFACE_YUV**
= 0,
**OH_VIDEO_SOURCE_SURFACE_ES**
,
**OH_VIDEO_SOURCE_SURFACE_RGBA**
,
**OH_VIDEO_SOURCE_BUTT**
<br/>
} | 屏幕录制视频的不同source类型。 |
|
[
OH_ContainerFormatType
](
_a_v_screen_capture_base.md#oh_containerformattype
)
{
<br/>
**CFT_MPEG_4A**
= 0,
**CFT_MPEG_4**
= 1
<br/>
} | 屏幕录制生成物的不同音视频格式类型。 |
zh-cn/application-dev/reference/native-apis/native__avscreen_capture_errors_8h.md
0 → 100644
浏览文件 @
d2f613bd
# native_avscreen_capture_errors.h
## 概述
声明运行屏幕录制过程中调用接口发生的错误码。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
**相关模块:**
[
AVScreenCapture
](
_a_v_screen_capture.md
)
## 汇总
### 类型定义
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVSCREEN_CAPTURE_ErrCode
](
#oh_avscreen_capture_errcode
)
| 屏幕录制错误码。 |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
|
[
OH_AVSCREEN_CAPTURE_ErrCode
](
#oh_avscreen_capture_errcode
)
{
<br/>
**AV_SCREEN_CAPTURE_ERR_BASE**
= 0,
**AV_SCREEN_CAPTURE_ERR_OK**
=
**AV_SCREEN_CAPTURE_ERR_BASE**
,
**AV_SCREEN_CAPTURE_ERR_NO_MEMORY**
=
**AV_SCREEN_CAPTURE_ERR_BASE**
+ 1,
**AV_SCREEN_CAPTURE_ERR_OPERATE_NOT_PERMIT**
=
**AV_SCREEN_CAPTURE_ERR_BASE**
+ 2,
**AV_SCREEN_CAPTURE_ERR_INVALID_VAL**
=
**AV_SCREEN_CAPTURE_ERR_BASE**
+ 3,
**AV_SCREEN_CAPTURE_ERR_IO**
=
**AV_SCREEN_CAPTURE_ERR_BASE**
+ 4,
**AV_SCREEN_CAPTURE_ERR_TIMEOUT**
=
**AV_SCREEN_CAPTURE_ERR_BASE**
+ 5,
**AV_SCREEN_CAPTURE_ERR_UNKNOWN**
=
**AV_SCREEN_CAPTURE_ERR_BASE**
+ 6,
**AV_SCREEN_CAPTURE_ERR_SERVICE_DIED**
=
**AV_SCREEN_CAPTURE_ERR_BASE**
+ 7,
**AV_SCREEN_CAPTURE_ERR_INVALID_STATE**
=
**AV_SCREEN_CAPTURE_ERR_BASE**
+ 8,
**AV_SCREEN_CAPTURE_ERR_UNSUPPORT**
=
**AV_SCREEN_CAPTURE_ERR_BASE**
+ 9,
**AV_SCREEN_CAPTURE_ERR_EXTEND_START**
=
**AV_SCREEN_CAPTURE_ERR_BASE**
+ 100
<br/>
} | 屏幕录制进行过程中产生的不同错误码类型。 |
## 类型定义说明
### OH_AVSCREEN_CAPTURE_ErrCode
```
typedef enum OH_AVSCREEN_CAPTURE_ErrCode OH_AVSCREEN_CAPTURE_ErrCode
```
**描述:**
屏幕录制错误码。
\@
syscap SystemCapability.Multimedia.Media.AVScreenCapture
**起始版本:**
10
## 枚举类型说明
### OH_AVSCREEN_CAPTURE_ErrCode
```
enum OH_AVSCREEN_CAPTURE_ErrCode
```
**描述:**
屏幕录制操作错误码
\@
syscap SystemCapability.Multimedia.Media.Core
**起始版本:**
10
| 枚举值 | 描述 |
| -------- | -------- |
| AV_SCREEN_CAPTURE_ERR_BASE | basic error mask for screen recording. |
| AV_SCREEN_CAPTURE_ERR_OK | the operation completed successfully. |
| AV_SCREEN_CAPTURE_ERR_NO_MEMORY | no memory. |
| AV_SCREEN_CAPTURE_ERR_OPERATE_NOT_PERMIT | opertation not be permitted. |
| AV_SCREEN_CAPTURE_ERR_INVALID_VAL | invalid argument. |
| AV_SCREEN_CAPTURE_ERR_IO | IO error. |
| AV_SCREEN_CAPTURE_ERR_TIMEOUT | network timeout. |
| AV_SCREEN_CAPTURE_ERR_UNKNOWN | unknown error. |
| AV_SCREEN_CAPTURE_ERR_SERVICE_DIED | media service died. |
| AV_SCREEN_CAPTURE_ERR_INVALID_STATE | the state is not support this operation. |
| AV_SCREEN_CAPTURE_ERR_UNSUPPORT | unsupport interface. |
| AV_SCREEN_CAPTURE_ERR_EXTEND_START | extend err start. |
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录