play_audio_stream(3alleg4) Allegro manual play_audio_stream(3alleg4)
NAME
play_audio_stream - Creates a new audio stream and starts playing it. Allegro game programming library.
SYNOPSIS
#include <allegro.h>
AUDIOSTREAM *play_audio_stream(int len, int bits, int stereo, int freq, int vol, int pan);
DESCRIPTION
This function creates a new audio stream and starts playing it. The length is the size of each transfer buffer in sample frames (not
bytes), where a sample frame is a single sample value for mono data or a pair of interleaved sample values (left first) for stereo data.
The length should normally be (but doesn't have to be) a power of 2 somewhere around 1k in size. Larger buffers are more efficient and
require fewer updates, but result in more latency between you providing the data and it actually being played.
The `bits' parameter must be 8 or 16. `freq' is the sample rate of the data in Hertz. The `vol' and `pan' values use the same 0-255 ranges
as the regular sample playing functions. The `stereo' parameter should be set to 1 for stereo streams, or 0 otherwise.
If you want to adjust the pitch, volume, or panning of a stream once it is playing, you can use the regular voice_*() functions with
stream->voice as a parameter. The format of the sample data is described in the SAMPLE entry of the "Structures and types defined by Alle-
gro" chapter. The formula to get the size of the buffers in bytes could be:
bytes = length * (bits / 8) * (stereo ? 2 : 1)
Example:
/* Create a 22KHz 8bit mono audio stream. */
stream = play_audio_stream(1024, 8, FALSE, 22050, 255, 128);
if (!stream)
abort_on_error("Error creating audio stream!
");
RETURN VALUE
This function returns a pointer to the audio stream or NULL if it could not be created.
SEE ALSO
install_sound(3alleg4), get_audio_stream_buffer(3alleg4), stop_audio_stream(3alleg4), AUDIOSTREAM(3alleg4), exstream(3alleg4)
Allegro version 4.4.2 play_audio_stream(3alleg4)