14.11 ossaudiodev -- OSS互換オーディオデバイスへのアクセス

Linux, FreeBSDプラットフォームで利用できます。

バージョン 2.3 で 新たに追加 された仕様です。

このモジュールを使うとOSS (Open Sound System) オーディオインターフェース にアクセスできます。 OSSはオープンソースあるいは商用のUnixで広く利用でき、Linux (カーネル 2.4まで) とFreeBSDで標準のオーディオインターフェースです。

参考:

Open Sound System Programmer's Guide
OSS C API の公式ドキュメント

このモジュールではOSSデバイスドライバーが提供している多くの 定数を定義しています; 定数のリストについては Linux や FreeBSDの <sys/soundcard.h>を参照してください。

ossaudiodev では以下の変数と関数を定義しています:

exception error
何らかのエラーのときに送出される例外です。 引数は何が誤っているかを示す文字列です。

(ossaudiodevopen()write()ioctl() などのシステムコールからエラーを受け取った 場合には IOError を送出します。 ossaudiodev が直接エラーを検出した場合には OSSAudioErrorになります。)

(以前のバージョンとの互換性のため、この例外クラスは ossaudiodev.error としても利用できます。)

open( [device, ]mode)
オーディオデバイスを開き、OSSオーディオデバイスオブジェクトを返します。 このオブジェクトはread()write()fileno() といったファイル類似オブジェクトのメソッドを数多くサポートしています。 (とはいえ、伝統的な Unix の read/write における意味づけと OSS デバイス の read/write との間には微妙な違いがあります)。 また、オーディオ特有の多くのメソッドがあります;メソッドの完全なリストに ついては下記を参照してください。

deviceは使用するオーディオデバイスファイルネームです。 もしこれが指定されないなら、このモジュールは使うデバイスとして最初に環境 変数AUDIODEVを参照します。 見つからなければ/dev/dspを参照します。

mode は読み出し専用アクセスの場合には 'r'、 書き込み専用 (プレイバック) アクセスの場合には 'w'、 読み書きアクセスの場合には 'rw' にします. 多くのサウンドカードは一つのプロセスが一度にレコーダとプレーヤの どちらかしか開けないようにしているため,必要な操作に応じた デバイスだけを開くようにするのがよいでしょう。また,サウンドカード には半二重 (half-duplex) 方式のものがあります: こうしたカードでは, デバイスを読み出しまたは書き込み用に開くことはできますが,両方 同時には開けません.

呼び出しの文法が普通と異なることに注意してください: 最初の引数は省略可能で、2番目が必須です。 これはossaudiodevにとってかわられた古い linuxaudiodevとの互換性のためという歴史的な産物です。

openmixer( [device])
ミキサデバイスを開き、OSSミキサデバイスオブジェクトを返します。 deviceは使用するミキサデバイスのファイル名です。 deviceを指定しない場合、モジュールはまず環境変数 AUDIODEVを参照して使用するデバイスを探します。 見つからなければ、/dev/mixerを参照します。



ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。