---
name: "AuSoundRecord"
section: "3nas"
platform: "linux"
package: "libaudio-dev"
version: "1.9.4-9"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/AuSoundRecord"
---

# AuSoundRecord(3nas)

create a flow to record audio to any destination.

## Name

**AuSoundRecord** - create a flow to record audio to any destination.

## Synopsis

\#include \<audio/audiolib.h\>\
 \#include \<audio/soundlib.h\>

**AuEventHandlerRec** \***AuSoundRecord**(*server*, *source*, *gain*, *num\_samples*, *mode*, *sound\_data*, *flow*, *volume\_mult\_elem*, *status*)\
\
     **AuServer** \**server*;\
\
     **AuDeviceID** *source*;\
\
     **AuFixedPoint** *gain*;\
\
     **AuUint32** *num\_samples*;\
\
     int *mode*;\
\
     **AuSoundDataPtr** *sound\_data*;\
\
     **AuFlowID** \**flow*; /\* **RETURN** \*/\
\
     int \**volume\_mult\_elem*; /\* **RETURN** \*/\
\
     **AuStatus** \**status*; /\* **RETURN** \*/

## Arguments

- *server*

  Specifies the connection to the audio server.

- *source*

  Specifies the input device to use.

- *gain*

  Specifies the gain for the input device.

- *num\_samples*

  Specifies the number of samples to record.

- *mode*

  Specifies the line mode for the input device. Currently the following line modes are defined: **AuDeviceInputModeNone**, **AuDeviceInputModeLineIn**, **AuDeviceInputModeMicrophone**.

- *sound\_data*

  Specifies the sound information.

- *flow*

  If non-NULL, returns the flow ID.

- *volume\_mult\_elem*

  Accord to the comment in the source, not implemented.

- *status*

  If non-NULL, flush the output buffer and return the status from the server.

## Description

**AuSoundRecord** creates a flow to record audio from *source* to any destination and returns a pointer to the event handler created or NULL if there was an error. The *sound\_data* structure contains the necessary information about the audio format and the data handling function.

## Errors

**AuBadDevice**.

## See Also

**AuSoundRecordToBucket**, **AuSoundRecordToData**, **AuSoundRecordToFile**, **AuSoundRecordToFileN**.

audiolib - **Network Audio System** C Language Interface
