Create a handle and open a connection to a specified audio interface
#include <sys/asoundlib.h> int snd_pcm_open( snd_pcm_t **handle, int card, int device, int mode );
You can OR this flag with any of the above:
You can change the blocking setup later by calling snd_pcm_nonblock_mode()
libasound.so
The snd_pcm_open() function creates a handle and opens a connection to the audio interface for sound card number card and audio device number device. It also checks if the protocol is compatible to prevent the use of programs written to an older API with newer drivers.
There are no defaults; your application must specify all the arguments to this function.
Zero on success, or a negative error code.
See the example in “Opening your PCM device” in the Playing and Capturing Audio Data chapter.
QNX Neutrino
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
Successfully opening a PCM channel doesn't guarantee that there are enough audio resources free to handle your application. Audio resources (e.g. subchannels) are allocated when you configure the channel by calling snd_pcm_channel_params() or snd_pcm_plugin_params().
snd_pcm_close(), snd_pcm_nonblock_mode(), snd_pcm_open_preferred()