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

利用可能な条件: Linux, FreeBSD.

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

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

参考資料:

オープンサウンドシステムプログラマーズガイド
OSS C APIのための公式ドキュメント

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

ossaudiodevには以下の変数と関数が定義されています:

exception error
この例外は特定のエラーを発生します。 引数は何が誤っているかを示す文字列です。

(もしossaudiodevopen()write()ioctl()などのシステムコールからエラーを受け取ったら IOErrorを発生します。 ossaudiodevモジュールによって直接検出されたエラーは ossaudiodev.errorになります。)

open( [device, ]mode)
オーディオデバイスを開いて、OSSオーディオデバイスオブジェクトを返しま す。 このオブジェクトはread()write()fileno() などのようにファイルのような多くのメソッドをサポートしています。 (しかし伝統的なUnixのread/writeの構文とOSSオーディオデバイスのものとの あいだには微妙な違いがあります) 。 また、オーディオ特有の多くのメソッドがあります;メソッドの完全なリストに ついては下記を参照してください。

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

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

modeは、読み込みのみ (再生) のアクセスの'r'、書き込みのみ ( 録音) のアクセスの'w'、それら両方の'rw'のうちのどれか1つで す。 多くのサウンドカードでは一つのプロセスで同時にレコーダかプレーヤしか持て ないので、操作が必要なときだけデバイスを開くのが良い考えです。 また、いくつかのサウンドカードは半二重 (half-duplex) です: これらでは読み込みあるいは書き込みで開けますが、同時に両方では開けませ ん。

openmixer( [device])
ミキサーデバイスを開いて、OSSミキサーデバイスオブジェクトを返します。 deviceは使用するミキサーデバイスのファイルネームです。 もしこれが指定されないなら、このモジュールは使うデバイスとして最初に環境 変数AUDIODEVを参照します。 みつからなければ、/dev/mixerを参照します。



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