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. NOTE: This struct is reserved and will be provided in later versions. |
OH_AudioInfo | Defines audio capture parameters. |
OH_VideoCaptureInfo | Defines video capture information. |
OH_VideoEncInfo | Defines video encoding information. NOTE: This struct is reserved and will be provided in later versions. |
OH_VideoInfo | Defines video capture parameters. |
OH_RecorderInfo | Defines recording file information. NOTE: This struct is reserved and will be provided in later versions. |
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. NOTE: This type is reserved and will be provided in later versions. |
OH_AudioCaptureInfo | Defines audio capture information. |
OH_AudioEncInfo | Defines audio encoding information. NOTE: This type is reserved and will be provided in later versions. |
OH_AudioInfo | Defines audio capture parameters. |
OH_VideoCaptureInfo | Defines video capture information. |
OH_VideoEncInfo | Defines video encoding information. NOTE: This type is reserved and will be provided in later versions. |
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. NOTE: This enum is reserved and will be provided in later versions. |
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. NOTE: This function is reserved and will be provided in later versions. |
OH_AVScreenCapture_StopScreenRecording (struct OH_AVScreenCapture *capture) | Stops screen recording. This function is used in pair with OH_AVScreenCapture_StartScreenRecording. NOTE: This function is reserved and will be provided in later versions. |
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 ohos.permission.MICROPHONE and ohos.permission.CAPTURE_SCREEN permissions. 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_StartScreenRecording and OH_AVScreenCapture_AcquireAudioBuffer. When isMicrophone is set to false, the obtained audio data is silent data.
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.
NOTE
This function is reserved and will be provided in later versions.
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.
NOTE
This function is reserved and will be provided in later versions.
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.