# AudioCapture - [Overview](#section1508227372165630) - [Summary](#section1685488375165630) - [Data Fields](#pub-attribs) - [Details](#section2098671874165630) - [Field](#section655888037165630) - [CaptureFrame](#a89f1baf4b6177f91b9135e86cc8681da) - [GetCapturePosition](#ad307fd1eca38f257f865c1316db6e5d5) ## **Overview** **Related Modules:** [Audio](audio.md) **Description:** Provides capabilities for audio capturing, including controlling the capturing, setting audio attributes, scenes, and volume, and capturing audio frames. See also : [AudioControl](audiocontrol.md) : [AudioAttribute](audioattribute.md) : [AudioScene](audioscene.md) : [AudioVolume](audiovolume.md) **Since:** 1.0 **Version:** 1.0 ## **Summary** ## Data Fields

Variable Name

Description

control

struct AudioControl

Defines the audio control. For details, see AudioControl.

attr

struct AudioAttribute

Defines the audio attribute. For details, see AudioAttribute.

scene

struct AudioScene

Defines the audio scene. For details, see AudioScene.

volume

struct AudioVolume

Defines audio volume. For details, see AudioVolume.

CaptureFrame )(struct AudioCapture *capture, void *frame, uint64_t requestBytes, uint64_t *replyBytes)

int32_t(*

Reads a frame of input data (uplink data) from the audio driver for capturing.

GetCapturePosition )(struct AudioCapture *capture, uint64_t *frames, struct AudioTimeStamp *time)

int32_t(*

Obtains the last number of input audio frames.

## **Details** ## **Field ** ## CaptureFrame ``` int32_t(* AudioCapture::CaptureFrame) (struct [AudioCapture](audiocapture.md) *capture, void *frame, uint64_t requestBytes, uint64_t *replyBytes) ``` **Description:** Reads a frame of input data \(uplink data\) from the audio driver for capturing. **Parameters:**

Name

Description

capture Indicates the pointer to the AudioCapture object to operate.
frame Indicates the pointer to the input data to read.
requestBytes Indicates the size of the input data, in bytes.
replyBytes Indicates the pointer to the actual length (in bytes) of the audio data to read.
**Returns:** Returns **0** if the input data is read successfully; returns a negative value otherwise. ## GetCapturePosition ``` int32_t(* AudioCapture::GetCapturePosition) (struct [AudioCapture](audiocapture.md) *capture, uint64_t *frames, struct [AudioTimeStamp](audiotimestamp.md) *[time](time.md#gae7841e681c8c9d59818568d39553642c)) ``` **Description:** Obtains the last number of input audio frames. **Parameters:**

Name

Description

capture Indicates the pointer to the AudioCapture object to operate.
frames Indicates the pointer to the last number of input audio frames.
time Indicates the pointer to the timestamp associated with the frame.
**Returns:** Returns **0** if the last number is obtained; returns a negative value otherwise. **See also:** [CaptureFrame](audiocapture.md#a89f1baf4b6177f91b9135e86cc8681da)