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 Allegro" 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!\n");
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)