harmony 鸿蒙native_avscreen_capture_base.h
native_avscreen_capture_base.h
概述
声明用于运行屏幕录制通用的结构体、字符常量、枚举。
引用文件:
库: libnative_avscreen_capture.so
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 10
相关模块: AVScreenCapture
汇总
结构体
|名称|typedef关键字|描述|
|–|–|–|
|OH_AudioCaptureInfo|OH_AudioCaptureInfo|音频采样信息。
当audioSampleRate和audioChannels同时为0时,忽略该类型音频相关参数,不录制该类型音频数据。|
|OH_AudioEncInfo|OH_AudioEncInfo|音频编码信息。|
|OH_AudioInfo|OH_AudioInfo|音频信息。
同时采集音频麦克风和音频内录数据时,两路音频的audioSampleRate和audioChannels采样参数需要相同。|
|OH_VideoCaptureInfo|OH_VideoCaptureInfo|视频录制信息。当videoFrameWidth和videoFrameHeight同时为0时,忽略视频相关参数不录制屏幕数据。|
|OH_VideoEncInfo|OH_VideoEncInfo|视频编码参数。|
|OH_VideoInfo|OH_VideoInfo|视频信息。|
|OH_RecorderInfo|OH_RecorderInfo|录制文件信息。|
|OH_AVScreenCaptureConfig|OH_AVScreenCaptureConfig|屏幕录制配置参数。|
|OH_AVScreenCaptureCallback|OH_AVScreenCaptureCallback|OH_AVScreenCapture中所有异步回调函数指针的集合。将该结构体的实例注册到OH_AVScreenCapture实例中,并处理回调上报的信息,以保证OH_AVScreenCapture的正常运行。
从API 12开始,推荐使用接口OH_AVScreenCapture_OnError、OH_AVScreenCapture_OnBufferAvailable替代。|
|OH_Rect|OH_Rect|定义录屏界面的宽高以及画面信息。|
|OH_AudioBuffer|OH_AudioBuffer|定义了音频数据的大小、类型、时间戳等配置信息。|
|OH_NativeBuffer|OH_NativeBuffer|提供录屏的视频原始码流类。|
|OH_AVScreenCapture|OH_AVScreenCapture|通过OH_AVScreenCapture可以获取视频与音频的原始码流。|
|OH_AVScreenCapture_ContentFilter|OH_AVScreenCapture_ContentFilter|通过OH_AVScreenCapture_ContentFilter过滤音视频内容。|
|OH_AVScreenCapture_CaptureStrategy|OH_AVScreenCapture_CaptureStrategy|通过OH_AVScreenCapture_CaptureStrategy设置录屏策略。|
|OH_AVScreenCapture_UserSelectionInfo|OH_AVScreenCapture_UserSelectionInfo|通过OH_AVScreenCapture_UserSelectionInfo获取用户在授权界面(选择界面)选择的参数。|
枚举
|名称|typedef关键字|描述| |–|–|–| |OH_CaptureMode|OH_CaptureMode|枚举,表示屏幕录制的不同模式。| |OH_AudioCaptureSourceType|OH_AudioCaptureSourceType|枚举,表示屏幕录制时的音频源类型。| |OH_AudioCodecFormat|OH_AudioCodecFormat|枚举,表示音频编码格式。| |OH_VideoCodecFormat|OH_VideoCodecFormat|枚举,表示视频编码格式。| |OH_DataType|OH_DataType|枚举,表示屏幕录制流的数据格式。| |OH_VideoSourceType|OH_VideoSourceType|枚举,表示视频源格式。当前仅支持RGBA格式。| |OH_ContainerFormatType|OH_ContainerFormatType|枚举,表示屏幕录制生成的文件类型。| |OH_AVScreenCaptureStateCode|OH_AVScreenCaptureStateCode|枚举,表示状态码。| |OH_AVScreenCaptureBufferType|OH_AVScreenCaptureBufferType|枚举,表示buffer类型。| |OH_AVScreenCaptureFilterableAudioContent|OH_AVScreenCaptureFilterableAudioContent|枚举,表示可过滤的音频类型。| |OH_AVScreenCaptureContentChangedEvent|OH_AVScreenCaptureContentChangedEvent|枚举,表示录屏内容变更事件。|
函数
|名称|typedef关键字|描述|
|–|–|–|
|typedef void (*OH_AVScreenCaptureOnError)(OH_AVScreenCapture *capture, int32_t errorCode)|OH_AVScreenCaptureOnError|当OH_AVScreenCapture实例运行出错时,将调用函数指针。
从API 12开始,推荐使用接口OH_AVScreenCapture_OnError替代。|
|typedef void (*OH_AVScreenCaptureOnAudioBufferAvailable)(OH_AVScreenCapture *capture, bool isReady,OH_AudioCaptureSourceType type)|OH_AVScreenCaptureOnAudioBufferAvailable|当OH_AVScreenCapture实例操作期间音频缓存区可用时,将调用函数指针。
从API 12开始,推荐使用接口OH_AVScreenCapture_OnBufferAvailable替代。|
|typedef void (*OH_AVScreenCaptureOnVideoBufferAvailable)(OH_AVScreenCapture *capture, bool isReady)|OH_AVScreenCaptureOnVideoBufferAvailable|当OH_AVScreenCapture实例操作期间视频缓存区可用时,将调用函数指针。
从API 12开始,推荐使用接口OH_AVScreenCapture_OnBufferAvailable替代。|
|typedef void (*OH_AVScreenCapture_OnStateChange)(struct OH_AVScreenCapture *capture,OH_AVScreenCaptureStateCode stateCode, void *userData)|OH_AVScreenCapture_OnStateChange|当OH_AVScreenCapture实例操作期间发生状态变更时,将调用函数指针。|
|typedef void (*OH_AVScreenCapture_OnError)(OH_AVScreenCapture *capture, int32_t errorCode, void *userData)|OH_AVScreenCapture_OnError|当OH_AVScreenCapture实例操作期间发生错误时,将调用函数指针。|
|typedef void (*OH_AVScreenCapture_OnBufferAvailable)(OH_AVScreenCapture *capture, OH_AVBuffer *buffer,OH_AVScreenCaptureBufferType bufferType, int64_t timestamp, void *userData)|OH_AVScreenCapture_OnBufferAvailable|当OH_AVScreenCapture实例操作期间音频或视频缓存区可用时,将调用该函数指针。|
|typedef void (*OH_AVScreenCapture_OnDisplaySelected)(OH_AVScreenCapture *capture, uint64_t displayId, void *userData)|OH_AVScreenCapture_OnDisplaySelected|当录屏事件开始时,将调用函数指针。|
|typedef void (*OH_AVScreenCapture_OnCaptureContentChanged)(OH_AVScreenCapture* capture,OH_AVScreenCaptureContentChangedEvent event, OH_Rect* area, void *userData)|OH_AVScreenCapture_OnCaptureContentChanged|当OH_AVScreenCapture实例操作期间录屏内容变化时,将调用函数指针。|
|typedef void (*OH_AVScreenCapture_OnUserSelected)(OH_AVScreenCapture* capture,OH_AVScreenCapture_UserSelectionInfo* selections, void *userData)|OH_AVScreenCapture_OnUserSelected|当用户在授权界面(选择界面)选择参数时,功能接口将参数返回给应用程序。|
枚举类型说明
OH_CaptureMode
enum OH_CaptureMode
描述
枚举,表示屏幕录制的不同模式。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 10
|枚举项|描述| |–|–| |OH_CAPTURE_HOME_SCREEN = 0|录制主屏幕。| |OH_CAPTURE_SPECIFIED_SCREEN = 1|录制指定屏幕。| |OH_CAPTURE_SPECIFIED_WINDOW = 2|录制指定窗口。| |OH_CAPTURE_INVAILD = -1|无效模式。|
OH_AudioCaptureSourceType
enum OH_AudioCaptureSourceType
描述
枚举,表示屏幕录制时的音频源类型。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 10
|枚举项|描述| |–|–| |OH_SOURCE_INVALID = -1|无效音频源。| |OH_SOURCE_DEFAULT = 0|默认音频源,默认为麦克风。| |OH_MIC = 1|麦克风录制的外部音频流。| |OH_ALL_PLAYBACK = 2|系统播放的所有内部音频流。| |OH_APP_PLAYBACK = 3|指定应用播放的内部音频流。|
OH_AudioCodecFormat
enum OH_AudioCodecFormat
描述
枚举,表示音频编码格式。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 10
|枚举项|描述| |–|–| |OH_AUDIO_DEFAULT = 0|默认音频编码,默认为AAC_LC。| |OH_AAC_LC = 3|AAC_LC音频编码。| |OH_AUDIO_CODEC_FORMAT_BUTT|无效格式。|
OH_VideoCodecFormat
enum OH_VideoCodecFormat
描述
枚举,表示视频编码格式。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 10
|枚举项|描述| |–|–| |OH_VIDEO_DEFAULT = 0|默认视频编码,默认为H.264。| |OH_H264 = 2|H.264。| |OH_H265 = 4|H.265/HEVC。| |OH_MPEG4 = 6|MPEG4。| |OH_VP8 = 8|VP8。| |OH_VP9 = 10|VP9。| |OH_VIDEO_CODEC_FORMAT_BUTT|无效格式。|
OH_DataType
enum OH_DataType
描述
枚举,表示屏幕录制流的数据格式。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 10
|枚举项|描述| |–|–| |OH_ORIGINAL_STREAM = 0|原始流格式,如YUV/RGBA/PCM等。| |OH_ENCODED_STREAM = 1|编码格式,如H264/AAC等。当前版本暂不支持。| |OH_CAPTURE_FILE = 2|保存文件格式,支持mp4。| |OH_INVAILD = -1|无效格式。|
OH_VideoSourceType
enum OH_VideoSourceType
描述
枚举,表示视频源格式。当前仅支持RGBA格式。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 10
|枚举项|描述| |–|–| |OH_VIDEO_SOURCE_SURFACE_YUV = 0|YUV格式。当前版本暂不支持。| |OH_VIDEO_SOURCE_SURFACE_ES|raw格式。当前版本暂不支持。| |OH_VIDEO_SOURCE_SURFACE_RGBA|RGBA格式。| |OH_VIDEO_SOURCE_BUTT|无效格式。|
OH_ContainerFormatType
enum OH_ContainerFormatType
描述
枚举,表示屏幕录制生成的文件类型。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 10
|枚举项|描述| |–|–| |CFT_MPEG_4A = 0|音频格式 m4a。| |CFT_MPEG_4 = 1|视频格式 mp4。|
OH_AVScreenCaptureStateCode
enum OH_AVScreenCaptureStateCode
描述
枚举,表示状态码。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 12
|枚举项|描述| |–|–| |OH_SCREEN_CAPTURE_STATE_STARTED = 0|已开始录屏。| |OH_SCREEN_CAPTURE_STATE_CANCELED = 1|已取消录屏。| |OH_SCREEN_CAPTURE_STATE_STOPPED_BY_USER = 2|已停止录屏。| |OH_SCREEN_CAPTURE_STATE_INTERRUPTED_BY_OTHER = 3|录屏被其他录屏中断。| |OH_SCREEN_CAPTURE_STATE_STOPPED_BY_CALL = 4|录屏被通话中断。| |OH_SCREEN_CAPTURE_STATE_MIC_UNAVAILABLE = 5|麦克风不可用。| |OH_SCREEN_CAPTURE_STATE_MIC_MUTED_BY_USER = 6|麦克风被静音。| |OH_SCREEN_CAPTURE_STATE_MIC_UNMUTED_BY_USER = 7|麦克风被取消静音。| |OH_SCREEN_CAPTURE_STATE_ENTER_PRIVATE_SCENE = 8|进入隐私界面。| |OH_SCREEN_CAPTURE_STATE_EXIT_PRIVATE_SCENE = 9|隐私界面退出。| |OH_SCREEN_CAPTURE_STATE_STOPPED_BY_USER_SWITCHES = 10|系统用户切换,录屏中断。|
OH_AVScreenCaptureBufferType
enum OH_AVScreenCaptureBufferType
描述
枚举,表示buffer类型。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 12
|枚举项|描述| |–|–| |OH_SCREEN_CAPTURE_BUFFERTYPE_VIDEO = 0|视频数据。| |OH_SCREEN_CAPTURE_BUFFERTYPE_AUDIO_INNER = 1|内录音频数据。| |OH_SCREEN_CAPTURE_BUFFERTYPE_AUDIO_MIC = 2|麦克风音频数据。|
OH_AVScreenCaptureFilterableAudioContent
enum OH_AVScreenCaptureFilterableAudioContent
描述
枚举,表示可过滤的音频类型。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 12
|枚举项|描述| |–|–| |OH_SCREEN_CAPTURE_NOTIFICATION_AUDIO = 0|通知音。| |OH_SCREEN_CAPTURE_CURRENT_APP_AUDIO = 1|应用自身声音。|
OH_AVScreenCaptureContentChangedEvent
enum OH_AVScreenCaptureContentChangedEvent
描述
枚举,表示录屏内容变更事件。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 20
|枚举项|描述| |–|–| |OH_SCREEN_CAPTURE_CONTENT_HIDE = 0|录屏内容变为隐藏。| |OH_SCREEN_CAPTURE_CONTENT_VISIBLE = 1|录屏内容变为可见。| |OH_SCREEN_CAPTURE_CONTENT_UNAVAILABLE = 2|录屏内容状态变化为不可用,如录屏窗口关闭。|
函数说明
OH_AVScreenCaptureOnError()
typedef void (*OH_AVScreenCaptureOnError)(OH_AVScreenCapture *capture, int32_t errorCode)
描述
当OH_AVScreenCapture实例运行出错时,将调用函数指针。
从API 12开始,推荐使用接口OH_AVScreenCapture_OnError替代。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 10
参数:
|参数项|描述| |–|–| |OH_AVScreenCapture *capture|指向OH_AVScreenCapture实例的指针。| | int32_t errorCode|指定错误码。|
OH_AVScreenCaptureOnAudioBufferAvailable()
typedef void (*OH_AVScreenCaptureOnAudioBufferAvailable)(OH_AVScreenCapture *capture, bool isReady,OH_AudioCaptureSourceType type)
描述
当OH_AVScreenCapture实例操作期间音频缓存区可用时,将调用函数指针。
从API 12开始,推荐使用接口OH_AVScreenCapture_OnBufferAvailable替代。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 10
参数:
|参数项|描述| |–|–| |OH_AVScreenCapture *capture|指向OH_AVScreenCapture实例的指针。| | bool isReady|音频缓存区是否可用。| |OH_AudioCaptureSourceType type|音频源类型。|
OH_AVScreenCaptureOnVideoBufferAvailable()
typedef void (*OH_AVScreenCaptureOnVideoBufferAvailable)(OH_AVScreenCapture *capture, bool isReady)
描述
当OH_AVScreenCapture实例操作期间视频缓存区可用时,将调用函数指针。
从API 12开始,推荐使用接口OH_AVScreenCapture_OnBufferAvailable替代。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 10
参数:
|参数项|描述| |–|–| |OH_AVScreenCapture *capture|指向OH_AVScreenCapture实例的指针。| | bool isReady|视频缓存区是否可用。|
OH_AVScreenCapture_OnStateChange()
typedef void (*OH_AVScreenCapture_OnStateChange)(struct OH_AVScreenCapture *capture,OH_AVScreenCaptureStateCode stateCode, void *userData)
描述
当OH_AVScreenCapture实例操作期间发生状态变更时,将调用函数指针。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 12
参数:
|参数项|描述| |–|–| |struct OH_AVScreenCapture *capture|指向OH_AVScreenCapture实例的指针。| |OH_AVScreenCaptureStateCode stateCode|指定状态码。| | void *userData|指向应用设置该回调处理方法时提供的自定义数据的指针。|
OH_AVScreenCapture_OnError()
typedef void (*OH_AVScreenCapture_OnError)(OH_AVScreenCapture *capture, int32_t errorCode, void *userData)
描述
当OH_AVScreenCapture实例操作期间发生错误时,将调用函数指针。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_AVScreenCapture *capture|指向OH_AVScreenCapture实例的指针。| | int32_t errorCode|指定错误码。| | void *userData|指向应用设置该回调处理方法时提供的自定义数据的指针。|
OH_AVScreenCapture_OnBufferAvailable()
typedef void (*OH_AVScreenCapture_OnBufferAvailable)(OH_AVScreenCapture *capture, OH_AVBuffer *buffer,OH_AVScreenCaptureBufferType bufferType, int64_t timestamp, void *userData)
描述
当OH_AVScreenCapture实例操作期间音频或视频缓存区可用时,将调用该函数指针。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 12
参数:
|参数项|描述| |–|–| |OH_AVScreenCapture *capture|指向OH_AVScreenCapture实例的指针。| | OH_AVBuffer *buffer|指向OH_AVBuffer缓存区实例的指针,该回调方法执行结束返回后,数据缓存区不再有效。| |OH_AVScreenCaptureBufferType bufferType|可用缓存区的数据类型。| | int64_t timestamp|时间戳,单位纳秒。| | void *userData|指向应用设置该回调处理方法时提供的自定义数据的指针。|
OH_AVScreenCapture_OnDisplaySelected()
typedef void (*OH_AVScreenCapture_OnDisplaySelected)(OH_AVScreenCapture *capture, uint64_t displayId, void *userData)
描述
当录屏事件开始时,将调用函数指针。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 15
参数:
|参数项|描述| |–|–| |OH_AVScreenCapture *capture|指向OH_AVScreenCapture实例的指针。| | uint64_t displayId|录屏屏幕的Id。| | void *userData|指向应用设置该回调处理方法时提供的自定义数据的指针。|
OH_AVScreenCapture_OnCaptureContentChanged()
typedef void (*OH_AVScreenCapture_OnCaptureContentChanged)(OH_AVScreenCapture* capture,OH_AVScreenCaptureContentChangedEvent event, OH_Rect* area, void *userData)
描述
当OH_AVScreenCapture实例操作期间录屏内容变化时,将调用函数指针。
系统能力: SystemCapability.Multimedia.Media.AVScreenCapture
起始版本: 20
参数:
|参数项|描述| |–|–| |OH_AVScreenCapture* capture|指向OH_AVScreenCapture实例的指针。| |OH_AVScreenCaptureContentChangedEvent event|录屏内容变更事件。| | OH_Rect* area|录屏内容可见时,对应位置信息。| | void *userData|指向应用设置该回调处理方法时提供的自定义数据的指针。|
OH_AVScreenCapture_OnUserSelected()
typedef void (*OH_AVScreenCapture_OnUserSelected)(OH_AVScreenCapture* capture,OH_AVScreenCapture_UserSelectionInfo* selections, void *userData)
描述
当用户在授权界面(选择界面)选择参数时,功能接口将参数返回给应用程序。
起始版本: 20
参数:
|参数项|描述| |–|–| |OH_AVScreenCapture* capture|指向OH_AVScreenCapture实例的指针。| |OH_AVScreenCapture_UserSelectionInfo* selections|用户在授权界面选择的录制参数信息。| | void *userData|指向用户数据的指针。|
你可能感兴趣的鸿蒙文章
harmony 鸿蒙Interface (AVImageGenerator)
harmony 鸿蒙Interface (AVMetadataExtractor)
harmony 鸿蒙Interface (AVPlayer)
harmony 鸿蒙Interface (AVRecorder)
harmony 鸿蒙Interface (AVScreenCaptureRecorder)
harmony 鸿蒙Interface (AVTranscoder)
harmony 鸿蒙废弃的Interface (AudioPlayer, deprecated)
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦