AVScreenCapture

Overview

The AVScreenCapture module provides APIs for screen capture.

System capability: SystemCapability.Multimedia.Media.AVScreenCapture

Since

10

Summary

Files

Name Description
native_avscreen_capture.h Declares the native APIs used to create an OH_AVScreenCapture instance.
File to include: <multimedia/player_framework/native_avscreen_capture.h>
Library: libnative_avscreen_capture.so
native_avscreen_capture_base.h Declares the common structs, character constants, and enums used for running screen capture.
File to include: <multimedia/player_framework/native_avscreen_capture_base.h>
Library: libnative_avscreen_capture.so
native_avscreen_capture_errors.h Declares the error codes generated during screen capture.
File to include: <multimedia/player_framework/native_avscreen_capture_errors.h>
Library: libnative_avscreen_capture.so

Structs

Name Description
OH_AudioCaptureInfo Defines audio capture information.
OH_AudioEncInfo Defines audio encoding information.
OH_AudioInfo Defines audio capture parameters.
OH_VideoCaptureInfo Defines video capture information.
OH_VideoEncInfo Defines video encoding information.
OH_VideoInfo Defines video capture parameters.
OH_RecorderInfo Defines recording file information.
OH_AVScreenCaptureConfig Defines the screen capture configuration.
OH_AVScreenCaptureCallback Defines all the asynchronous callback function pointers of an OH_AVScreenCapture instance.
OH_Rect Defines the width, height, and image information of the rectangle used for screen capture.
OH_AudioBuffer Defines the configuration such as the size, type, and timestamp of audio data.

Types

Name Description
OH_NativeBuffer Defines the native video stream class for screen capture.
OH_AVScreenCapture Defines a screen capture instance used to obtain original video and audio streams.
OH_CaptureMode Defines an enum that enumerates the screen capture modes.
OH_AudioCaptureSourceType Defines an enum that enumerates the audio source types during screen capture.
OH_AudioCodecFormat Defines an enum that enumerates the audio encoding formats.
OH_VideoCodecFormat Defines an enum that enumerates the video encoding formats.
OH_DataType Defines an enum that enumerates the data types of screen capture streams.
OH_VideoSourceType Defines an enum that enumerates the video source formats.
OH_ContainerFormatType Defines an enum that enumerates the types of files generated during screen capture.
OH_AudioCaptureInfo Defines audio capture information.
OH_AudioEncInfo Defines audio encoding information.
OH_AudioInfo Defines audio capture parameters.
OH_VideoCaptureInfo Defines video capture information.
OH_VideoEncInfo Defines video encoding information.
OH_VideoInfo Defines video capture parameters.
OH_RecorderInfo Defines recording file information.
OH_AVScreenCaptureConfig Defines the screen capture configuration.
(*OH_AVScreenCaptureOnError) (OH_AVScreenCapture *capture, int32_t errorCode) Defines a pointer to a callback function that is called when an error occurs during the running of an OH_AVScreenCapture instance.
(*OH_AVScreenCaptureOnAudioBufferAvailable) (OH_AVScreenCapture *capture, bool isReady, OH_AudioCaptureSourceType type) Defines a pointer to a callback function that is called when an audio buffer is available during the running of an OH_AVScreenCapture instance.
(*OH_AVScreenCaptureOnVideoBufferAvailable) (OH_AVScreenCapture *capture, bool isReady) Defines a pointer to a callback function that is called when a video buffer is available during the running of an OH_AVScreenCapture instance.
OH_AVScreenCaptureCallback Defines all the asynchronous callback function pointers of an OH_AVScreenCapture instance.
OH_Rect Defines the width, height, and image information of the rectangle used for screen capture.
OH_AudioBuffer Defines the configuration such as the size, type, and timestamp of audio data.
OH_AVSCREEN_CAPTURE_ErrCode Defines an enum that enumerates the error codes generated during screen recording.

Enums

Name Description
OH_CaptureMode { OH_CAPTURE_HOME_SCREEN = 0, OH_CAPTURE_SPECIFIED_SCREEN = 1, OH_CAPTURE_SPECIFIED_WINDOW = 2, OH_CAPTURE_INVAILD = -1 } Enumerates the screen capture modes.
OH_AudioCaptureSourceType {
OH_SOURCE_INVALID = -1, OH_SOURCE_DEFAULT = 0, OH_MIC = 1, OH_ALL_PLAYBACK = 2,
OH_APP_PLAYBACK = 3
}
Enumerates the audio source types during screen capture.
OH_AudioCodecFormat { OH_AUDIO_DEFAULT = 0, OH_AAC_LC = 3, OH_AUDIO_CODEC_FORMAT_BUTT } Enumerates the audio encoding formats.
OH_VideoCodecFormat {
OH_VIDEO_DEFAULT = 0, OH_H264 = 2, OH_H265 = 4, OH_MPEG4 = 6,
OH_VP8 = 8, OH_VP9 = 10, OH_VIDEO_CODEC_FORMAT_BUTT
}
Enumerates the video encoding formats.
OH_DataType { OH_ORIGINAL_STREAM = 0, OH_ENCODED_STREAM = 1, OH_CAPTURE_FILE = 2, OH_INVAILD = -1 } Enumerates the data types of screen capture streams.
OH_VideoSourceType { OH_VIDEO_SOURCE_SURFACE_YUV = 0, OH_VIDEO_SOURCE_SURFACE_ES, OH_VIDEO_SOURCE_SURFACE_RGBA, OH_VIDEO_SOURCE_BUTT } Enumerates the video source formats.
OH_ContainerFormatType { CFT_MPEG_4A = 0, CFT_MPEG_4 = 1 } Enumerates the types of files generated during screen capture.
OH_AVSCREEN_CAPTURE_ErrCode {
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
}
Enumerates the error codes generated during screen recording.

Functions

Name Description
OH_AVScreenCapture_Create (void) Creates an OH_AVScreenCapture instance.
OH_AVScreenCapture_Init (struct OH_AVScreenCapture *capture, OH_AVScreenCaptureConfig config) Initializes parameters related to an OH_AVScreenCapture instance.
OH_AVScreenCapture_StartScreenCapture (struct OH_AVScreenCapture *capture) Starts screen capture and collects original streams. After calling this function, the application can use the callback listeners OH_AVScreenCaptureOnAudioBufferAvailable and OH_AVScreenCaptureOnVideoBufferAvailable to check whether streams are generated.
OH_AVScreenCapture_StopScreenCapture (struct OH_AVScreenCapture *capture) Stops screen capture. This function is used in pair with OH_AVScreenCapture_StartScreenCapture. After calling this function, the application stops screen capture or screen share and releases the microphone.
OH_AVScreenCapture_StartScreenRecording (struct OH_AVScreenCapture *capture) Starts screen recording and collects encoded streams.
OH_AVScreenCapture_StopScreenRecording (struct OH_AVScreenCapture *capture) Stops screen recording. This function is used in pair with OH_AVScreenCapture_StartScreenRecording.
OH_AVScreenCapture_AcquireAudioBuffer (struct OH_AVScreenCapture *capture, OH_AudioBuffer **audiobuffer, OH_AudioCaptureSourceType type) Obtains an audio buffer. When calling this function, the application must allocate the memory of the corresponding struct size to the audio buffer.
OH_AVScreenCapture_AcquireVideoBuffer (struct OH_AVScreenCapture *capture, int32_t *fence, int64_t *timestamp, struct OH_Rect *region) Obtains a video buffer. An application can call this function to obtain information such as the video buffer and timestamp.
OH_AVScreenCapture_ReleaseAudioBuffer (struct OH_AVScreenCapture *capture, OH_AudioCaptureSourceType type) Releases an audio buffer.
OH_AVScreenCapture_ReleaseVideoBuffer (struct OH_AVScreenCapture *capture) Releases a video buffer.
OH_AVScreenCapture_SetCallback (struct OH_AVScreenCapture *capture, struct OH_AVScreenCaptureCallback callback) Sets a callback to listen for available video buffers and audio buffers and errors that occur during the function calling.
OH_AVScreenCapture_Release (struct OH_AVScreenCapture *capture) Releases an OH_AVScreenCapture instance. This function is used in pair with OH_AVScreenCapture_Create.
OH_AVScreenCapture_SetMicrophoneEnabled (struct OH_AVScreenCapture *capture, bool isMicrophone) Enables or disables the microphone.

Type Description

OH_AudioBuffer

typedef struct OH_AudioBuffer OH_AudioBuffer

Description

Defines the configuration such as the size, type, and timestamp of audio data.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_AudioCaptureInfo

typedef struct OH_AudioCaptureInfo OH_AudioCaptureInfo

Description

Defines audio capture information.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_AudioCaptureSourceType

typedef enum OH_AudioCaptureSourceType OH_AudioCaptureSourceType

Description

Defines an enum that enumerates the audio source types during screen capture.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_AudioCodecFormat

typedef enum OH_AudioCodecFormat OH_AudioCodecFormat

Description

Defines an enum that enumerates the audio encoding formats.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_AudioEncInfo

typedef struct OH_AudioEncInfo OH_AudioEncInfo

Description

Defines audio encoding information.

NOTE

This type is reserved and will be provided in later versions.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_AudioInfo

typedef struct OH_AudioInfo OH_AudioInfo

Description

Defines audio capture parameters.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_AVSCREEN_CAPTURE_ErrCode

typedef enum OH_AVSCREEN_CAPTURE_ErrCode OH_AVSCREEN_CAPTURE_ErrCode

Description

Defines an enum that enumerates the error codes generated during screen recording.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_AVScreenCapture

typedef struct OH_AVScreenCapture OH_AVScreenCapture

Description

Defines a screen capture instance used to obtain original video and audio streams.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_AVScreenCaptureCallback

typedef struct OH_AVScreenCaptureCallback OH_AVScreenCaptureCallback

Description

Defines all the asynchronous callback function pointers of an OH_AVScreenCapture instance. To ensure the normal running of OH_AVScreenCapture, you must register the instance of this struct with the OH_AVScreenCapture instance and process the information reported by the callback functions.

Parameters

Name Description
onError Pointer to a callback function that is called when an error occurs during the running of an OH_AVScreenCapture instance. For details, see OH_AVScreenCaptureOnError.
onAudioBufferAvailable Pointer to a callback function that is called when an audio buffer is available during the running of an OH_AVScreenCapture instance. For details, see OH_AVScreenCaptureOnAudioBufferAvailable.
onVideoBufferAvailable Pointer to a callback function that is called when a video buffer is available during the running of an OH_AVScreenCapture instance. For details, see OH_AVScreenCaptureOnVideoBufferAvailable.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_AVScreenCaptureConfig

typedef struct OH_AVScreenCaptureConfig OH_AVScreenCaptureConfig

Description

Defines the screen capture configuration.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_AVScreenCaptureOnAudioBufferAvailable

typedef void(* OH_AVScreenCaptureOnAudioBufferAvailable) (OH_AVScreenCapture *capture, bool isReady, OH_AudioCaptureSourceType type)

Description

Defines a pointer to a callback function that is called when an audio buffer is available during the running of an OH_AVScreenCapture instance.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.
isReady Whether the audio buffer is available.
type Audio source type.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_AVScreenCaptureOnError

typedef void(* OH_AVScreenCaptureOnError) (OH_AVScreenCapture *capture, int32_t errorCode)

Description

Defines a pointer to a callback function that is called when an error occurs during the running of an OH_AVScreenCapture instance.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.
errorCode Error code.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_AVScreenCaptureOnVideoBufferAvailable

typedef void(* OH_AVScreenCaptureOnVideoBufferAvailable) (OH_AVScreenCapture *capture, bool isReady)

Description

Defines a pointer to a callback function that is called when a video buffer is available during the running of an OH_AVScreenCapture instance.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.
isReady Whether the video buffer is available.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_CaptureMode

typedef enum OH_CaptureModeOH_CaptureMode

Description

Defines an enum that enumerates the screen capture modes.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_ContainerFormatType

typedef enum OH_ContainerFormatType OH_ContainerFormatType

Description

Defines an enum that enumerates the types of files generated during screen capture.

NOTE

This type is reserved and will be provided in later versions.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_DataType

typedef enum OH_DataType OH_DataType

Description

Defines an enum that enumerates the data types of screen capture streams.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_NativeBuffer

typedef struct OH_NativeBuffer OH_NativeBuffer

Description

Defines the native video stream class for screen capture.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_RecorderInfo

typedef struct OH_RecorderInfo OH_RecorderInfo

Description

Defines recording file information.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_Rect

typedef struct OH_Rect OH_Rect

Description

Defines the width, height, and image information of the rectangle used for screen capture.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_VideoCaptureInfo

typedef struct OH_VideoCaptureInfo OH_VideoCaptureInfo

Description

Defines video capture information.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_VideoCodecFormat

typedef enum OH_VideoCodecFormat OH_VideoCodecFormat

Description

Defines an enum that enumerates the video encoding formats.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_VideoEncInfo

typedef struct OH_VideoEncInfo OH_VideoEncInfo

Description

Defines video encoding parameters.

NOTE

This type is reserved and will be provided in later versions.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_VideoInfo

typedef struct OH_VideoInfo OH_VideoInfo

Description

Defines video capture parameters.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

OH_VideoSourceType

typedef enum OH_VideoSourceType OH_VideoSourceType

Description

Defines an enum that enumerates the video source formats.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Enum Description

OH_AudioCaptureSourceType

enum OH_AudioCaptureSourceType

Description

Enumerates the audio source types during screen capture.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Value Description
OH_SOURCE_INVALID Invalid audio source.
OH_SOURCE_DEFAULT Default audio source. The default value is MIC.
OH_MIC External audio streams recorded by the microphone.
OH_ALL_PLAYBACK All internal audio streams played by the system.
OH_APP_PLAYBACK Internal audio streams played by a specified application.

OH_AudioCodecFormat

enum OH_AudioCodecFormat

Description

Enumerates the audio encoding formats.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Value Description
OH_AUDIO_DEFAULT Default audio encoding format. The default value is AAC_LC.
OH_AAC_LC AAC_LC audio encoding.
OH_AUDIO_CODEC_FORMAT_BUTT Invalid format.

OH_AVSCREEN_CAPTURE_ErrCode

enum OH_AVSCREEN_CAPTURE_ErrCode

Description

Enumerates the error codes generated during screen recording.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Value Description
AV_SCREEN_CAPTURE_ERR_BASE Basic value returned when an API call error occurs.
AV_SCREEN_CAPTURE_ERR_OK Operation successful.
AV_SCREEN_CAPTURE_ERR_NO_MEMORY Memory insufficient.
AV_SCREEN_CAPTURE_ERR_OPERATE_NOT_PERMIT Operation not allowed.
AV_SCREEN_CAPTURE_ERR_INVALID_VAL Invalid parameter.
AV_SCREEN_CAPTURE_ERR_IO Abnormal input and output streams.
AV_SCREEN_CAPTURE_ERR_TIMEOUT Network timeout.
AV_SCREEN_CAPTURE_ERR_UNKNOWN Unknown error.
AV_SCREEN_CAPTURE_ERR_SERVICE_DIED Media service terminated.
AV_SCREEN_CAPTURE_ERR_INVALID_STATE Unsupported operation in this state.
AV_SCREEN_CAPTURE_ERR_UNSUPPORT Unsupported interface.
AV_SCREEN_CAPTURE_ERR_EXTEND_START Unexpected error.

OH_CaptureMode

enum OH_CaptureMode

Description

Enumerates the screen capture modes.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Value Description
OH_CAPTURE_HOME_SCREEN To capture the home screen.
OH_CAPTURE_SPECIFIED_SCREEN To capture a specified screen.
NOTE: This value is reserved and will be provided in later versions.
OH_CAPTURE_SPECIFIED_WINDOW To capture a specified window.
NOTE: This value is reserved and will be provided in later versions.
OH_CAPTURE_INVAILD Invalid mode.

OH_ContainerFormatType

enum OH_ContainerFormatType

Description

Enumerates the types of files generated during screen capture.

NOTE

This enum is reserved and will be provided in later versions.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Value Description
CFT_MPEG_4A Audio format M4A.
CFT_MPEG_4 Video format MP4.

OH_DataType

enum OH_DataType

Description

Enumerates the data types of screen capture streams.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Value Description
OH_ORIGINAL_STREAM Original stream format, such as YUV, RGBA, and PCM.
OH_ENCODED_STREAM Encoded stream format, such as H.264 and AAC.
NOTE: This value is reserved and will be provided in later versions.
OH_CAPTURE_FILE Format of the recording file. The value can be mp4.
NOTE: This value is reserved and will be provided in later versions.
OH_INVAILD Invalid format.

OH_VideoCodecFormat

enum OH_VideoCodecFormat

Description

Enumerates the video encoding formats.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Value Description
OH_VIDEO_DEFAULT Default video encoding format. The default value is H.264.
OH_H264 H.264.
OH_H265 H.265/HEVC.
OH_MPEG4 MPEG4.
OH_VP8 VP8.
OH_VP9 VP9.
OH_VIDEO_CODEC_FORMAT_BUTT Invalid format.

OH_VideoSourceType

enum OH_VideoSourceType

Description

Enumerates the video source formats.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Value Description
OH_VIDEO_SOURCE_SURFACE_YUV YUV format.
OH_VIDEO_SOURCE_SURFACE_ES Raw format.
OH_VIDEO_SOURCE_SURFACE_RGBA RGBA format.
OH_VIDEO_SOURCE_BUTT Invalid format.

Function Description

OH_AVScreenCapture_AcquireAudioBuffer()

OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_AcquireAudioBuffer (struct OH_AVScreenCapture * capture, OH_AudioBuffer ** audiobuffer, OH_AudioCaptureSourceType type )

Description

Obtains an audio buffer. When calling this function, the application must allocate the memory of the corresponding struct size to the audio buffer.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.
audiobuffer Pointer to the struct for storing the audio buffer. This struct is used to obtain the information about the audio buffer and the timestamp of the buffer.
type Type of the audio buffer, which is used to distinguish external streams recorded by the microphone from internal streams played by the system. For details, see OH_AudioCaptureSourceType.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns AV_SCREEN_CAPTURE_ERR_OK if the operation is successful; returns an error code defined in OH_AVSCREEN_CAPTURE_ErrCode otherwise.

OH_AVScreenCapture_AcquireVideoBuffer()

OH_NativeBuffer* OH_AVScreenCapture_AcquireVideoBuffer (struct OH_AVScreenCapture * capture, int32_t * fence, int64_t * timestamp, struct OH_Rect * region )

Description

Obtains a video buffer. An application can call this function to obtain information such as the video buffer and timestamp. After the buffer is no longer needed, call OH_AVScreenCapture_ReleaseVideoBuffer to release it.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.
fence Pointer to parameters for synchronization display.
timestamp Pointer to the timestamp of the video frame.
region Pointer to the coordinates related to video display.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns an OH_NativeBuffer object if the operation is successful. The application can call the APIs provided by the OH_NativeBuffer object to obtain information such as the video buffer and resolution.

OH_AVScreenCapture_Create()

struct OH_AVScreenCapture* OH_AVScreenCapture_Create (void )

Description

Creates an OH_AVScreenCapture instance. You can release the instance by calling OH_AVScreenCapture_Release.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns the pointer to an OH_AVScreenCapture instance.

OH_AVScreenCapture_Init()

OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Init (struct OH_AVScreenCapture * capture, OH_AVScreenCaptureConfig config )

Description

Initializes OH_AVScreenCapture parameters, including audio microphone sampling parameters, audio capture parameters (optional), and video resolution parameters.

To call this function, you must configure the permissions ohos.permission.MICROPHONE and ohos.permission.CAPTURE_SCREEN (available only for system applications). Otherwise, the initialization fails and screen capture cannot be performed properly.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.
config Parameters related to screen capture initialization.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns AV_SCREEN_CAPTURE_ERR_OK if the operation is successful; returns an error code defined in OH_AVSCREEN_CAPTURE_ErrCode otherwise.

OH_AVScreenCapture_Release()

OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_Release (struct OH_AVScreenCapture * capture)

Description

Releases an OH_AVScreenCapture instance. This function is used in pair with OH_AVScreenCapture_Create.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns AV_SCREEN_CAPTURE_ERR_OK if the operation is successful; returns an error code defined in OH_AVSCREEN_CAPTURE_ErrCode otherwise.

OH_AVScreenCapture_ReleaseAudioBuffer()

OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseAudioBuffer (struct OH_AVScreenCapture * capture, OH_AudioCaptureSourceType type )

Description

Releases an audio buffer. After the audio buffer is no longer needed, call this function to release it.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.
type Type of the audio buffer, which is used to distinguish external streams recorded by the microphone from internal streams played by the system.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns AV_SCREEN_CAPTURE_ERR_OK if the operation is successful; returns an error code defined in OH_AVSCREEN_CAPTURE_ErrCode otherwise.

OH_AVScreenCapture_ReleaseVideoBuffer()

OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ReleaseVideoBuffer (struct OH_AVScreenCapture * capture)

Description

Releases a video buffer. After the video buffer is no longer needed, call this function to release it.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns AV_SCREEN_CAPTURE_ERR_OK if the operation is successful; returns an error code defined in OH_AVSCREEN_CAPTURE_ErrCode otherwise.

OH_AVScreenCapture_SetCallback()

OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetCallback (struct OH_AVScreenCapture * capture, struct OH_AVScreenCaptureCallback callback )

Description

Sets a callback to listen for available video buffers and audio buffers and errors that occur during the function calling.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.
callback OH_AVScreenCaptureCallback struct, which stores related callback function pointers.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns AV_SCREEN_CAPTURE_ERR_OK if the operation is successful; returns an error code defined in OH_AVSCREEN_CAPTURE_ErrCode otherwise.

OH_AVScreenCapture_SetMicrophoneEnabled()

OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetMicrophoneEnabled (struct OH_AVScreenCapture * capture, bool isMicrophone )

Description

Enables or disables the microphone. When isMicrophone is set to true, the microphone is enabled, and the original PCM data of the microphone can be obtained by calling OH_AVScreenCapture_StartScreenCapture and OH_AVScreenCapture_AcquireAudioBuffer. When isMicrophone is set to false, the obtained audio data is silent data. By default, the microphone is enabled.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.
isMicrophone Whether to enable the microphone.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns AV_SCREEN_CAPTURE_ERR_OK if the operation is successful; returns an error code defined in OH_AVSCREEN_CAPTURE_ErrCode otherwise.

OH_AVScreenCapture_StartScreenCapture()

OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenCapture (struct OH_AVScreenCapture * capture)

Description

Starts screen capture and collects original streams. After calling this function, the application can use the callback listeners OH_AVScreenCaptureOnAudioBufferAvailable and OH_AVScreenCaptureOnVideoBufferAvailable to check whether streams are generated.

The application can obtain the original streams of screen capture by calling OH_AVScreenCapture_AcquireAudioBuffer and OH_AVScreenCapture_ReleaseVideoBuffer.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns AV_SCREEN_CAPTURE_ERR_OK if the operation is successful; returns an error code defined in OH_AVSCREEN_CAPTURE_ErrCode otherwise.

OH_AVScreenCapture_StartScreenRecording()

OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StartScreenRecording (struct OH_AVScreenCapture * capture)

Description

Starts screen recording and collects encoded streams.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns AV_SCREEN_CAPTURE_ERR_OK if the operation is successful; returns an error code defined in OH_AVSCREEN_CAPTURE_ErrCode otherwise.

OH_AVScreenCapture_StopScreenCapture()

OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StopScreenCapture (struct OH_AVScreenCapture * capture)

Description

Stops screen capture. This function is used in pair with OH_AVScreenCapture_StartScreenCapture. After calling this function, the application stops screen capture or screen share and releases the microphone.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns AV_SCREEN_CAPTURE_ERR_OK if the operation is successful; returns an error code defined in OH_AVSCREEN_CAPTURE_ErrCode otherwise.

OH_AVScreenCapture_StopScreenRecording()

OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_StopScreenRecording (struct OH_AVScreenCapture * capture)

Description

Stops screen recording. This function is used in pair with OH_AVScreenCapture_StartScreenRecording.

Parameters

Name Description
capture Pointer to an OH_AVScreenCapture instance.

System capability

SystemCapability.Multimedia.Media.AVScreenCapture

Returns

Returns AV_SCREEN_CAPTURE_ERR_OK if the operation is successful; returns an error code defined in OH_AVSCREEN_CAPTURE_ErrCode otherwise.