---
name: "read_sound_input"
section: "3alleg"
platform: "linux"
package: "liballegro-doc"
version: "2:4.2.2-2.2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/read_sound_input"
---

# read\_sound\_input(3alleg)

Retrieves the last recorded audio buffer. Allegro game programming library.

## NAME

read\_sound\_input - Retrieves the last recorded audio buffer. Allegro game programming library.

## SYNOPSIS

**#include \<allegro.h\>**

**int read\_sound\_input(void \*buffer);**

## DESCRIPTION

Retrieves the most recently recorded audio buffer into the specified  location. The buffer size can be obtained by checking the return value from start\_sound\_input(). You must be sure to call this function at regular intervals during the recording (typically around 100  times a second), or some data will be lost. If you are unable to do this  often enough from the mainline code, use the digi\_recorder() callback to  store the waveform into a larger buffer of your own.

Note: many cards produce a click or popping sound when switching between record and playback modes, so it is often a good idea to discard the first buffer after you start a recording. The waveform is always stored in unsigned format, with stereo data consisting of alternate left/right samples.

## RETURN VALUE

The function will return non-zero if a buffer has been copied or zero if no new data is yet available (you were too fast checking the input).

## SEE ALSO

[**start\_sound\_input**(3alleg)](/start_sound_input/3alleg.md)
