Availability: Linux, FreeBSD, maybe other
This module allows you to access the OSS (Open Sound System) audio interface. OSS is
available for a wide range of open-source and commercial Unices, and is the standard audio
interface for Linux and recent versions of FreeBSD.
The module defines a large number of constants supplied by the OSS device driver; see <sys/soundcard.h>
on either Linux or FreeBSD for a listing .
ossaudiodev defines the following variables and functions:
This exception is raised on certain errors. The argument is a string describing what
(If ossaudiodev receives an error from a system call such as open(), write(), or ioctl(), it raises IOError. Errors
detected directly by ossaudiodev result in OSSAudioError.)
(For backwards compatibility, the exception class is also available as ossaudiodev.error.)
Open an audio device and return an OSS audio device object. This object supports many
file-like methods, such as read(), write(),
and fileno() (although there are subtle differences between
conventional Unix read/write semantics and those of OSS audio devices). It also supports a
number of audio-specific methods; see below for the complete list of methods.
device is the audio device filename to use. If it is not specified, this
module first looks in the environment variable AUDIODEV
for a device to use. If not found, it falls back to /dev/dsp.
mode is one of 'r' for read-only (record) access, 'w'
for write-only (playback) access and 'rw' for both. Since many sound cards
only allow one process to have the recorder or player open at a time, it is a good idea to
open the device only for the activity needed. Further, some sound cards are half-duplex:
they can be opened for reading or writing, but not both at once.
Note the unusual calling syntax: the first argument is optional, and the second
is required. This is a historical artifact for compatibility with the older linuxaudiodev module which ossaudiodev
Open a mixer device and return an OSS mixer device object. device is the
mixer device filename to use. If it is not specified, this module first looks in the
environment variable MIXERDEV for a device to use. If
not found, it falls back to /dev/mixer.