39.1. al --- SGIのオーディオ機能¶
バージョン 2.6 で非推奨: al モジュールは Python 3 で削除されました。
このモジュールを使うと、SGI Indy と Indigo ワークステーションのオーディオ装置にアクセスできます。詳しくは IRIX の man ページのセクション 3A を参照してください。ここに書かれた関数が何をするかを理解するには、man ページを読む必要があります! IRIX のリリース 4.0.5 より前のものでは使えない関数もあります。お使いのプラットフォームで特定の関数が使えるかどうか、マニュアルで確認してください。
このモジュールで定義された関数とメソッドは全て、名前に AL の接頭辞を付けた C の関数と同義です。
C のヘッダーファイル <audio.h> のシンボル定数は標準モジュール AL に定義されています。下記を参照してください。
警告
オーディオライブラリの現在のバージョンは、不正な引数が渡されるとエラーステイタスが返るのではなく、coreを吐き出すことがあります。残念ながら、この現象が確実に起こる環境は述べられていないし、確認することは難しいので、 Python インターフェースでこの種の問題に対して防御することはできません。(一つの例は過大なキューサイズを特定することです --- 上限については記載されていません。)
このモジュールには、以下の関数が定義されています:
-
al.openport(name, direction[, config])¶ 引数 name と direction は文字列です。省略可能な引数 config は、
newconfig()で返されるコンフィギュレーションオブジェクトです。返り値は audio port object です;オーディオポートオブジェクトのメソッドは下に書かれています。
-
al.newconfig()¶ 返り値は新しい audio configuration object です;オーディオコンフィギュレーションオブジェクトのメソッドは下に書かれています。
-
al.queryparams(device)¶ 引数 device は整数です。返り値は
ALqueryparams()で返されるデータを含む整数のリストです。
-
al.getparams(device, list)¶ 引数 device は整数です。引数 list は
queryparams()で返されるようなリストです;queryparams()を適切に(!)修正して使うことができます。
-
al.setparams(device, list)¶ 引数 device は整数です。引数 list は
queryparams()で返されるようなリストです。
39.1.1. コンフィギュレーションオブジェクト¶
newconfig() で返されるコンフィギュレーションオブジェクトには以下のメソッドがあります:
-
audio configuration.getqueuesize() キューサイズを返します。
-
audio configuration.setqueuesize(size) キューサイズを設定します。
-
audio configuration.getwidth() サンプルサイズを返します。
-
audio configuration.setwidth(width) サンプルサイズを設定します。
-
audio configuration.getchannels() チャンネル数を返します。
-
audio configuration.setchannels(nchannels) チャンネル数を設定します。
-
audio configuration.getsampfmt() サンプルのフォーマットを返します。
-
audio configuration.setsampfmt(sampfmt) サンプルのフォーマットを設定します。
-
audio configuration.getfloatmax() 浮動小数点数でサンプルデータの最大値を返します。
-
audio configuration.setfloatmax(floatmax) 浮動小数点数でサンプルデータの最大値を設定します。
39.1.2. ポートオブジェクト¶
openport() で返されるポートオブジェクトには以下のメソッドがあります:
-
audio port.closeport() ポートを閉じます。
-
audio port.getfd() ファイルデスクリプタを整数で返します。
-
audio port.getfilled() バッファに存在するサンプルの数を返します。
-
audio port.getfillable() バッファの空きに入れることのできるサンプルの数を返します。
-
audio port.readsamps(nsamples) 必要ならブロックして、キューから指定のサンプル数を読み込みます。生データを文字列として(例えば、サンプルサイズが 2 バイトならサンプル当たり 2 バイトが big-endian (high byte、low byte) で)返します。
-
audio port.writesamps(samples) 必要ならブロックして、キューにサンプルを書き込みます。サンプルは
readsamps()で返される値のようにエンコードされていなければなりません。
-
audio port.getfillpoint() 'fill point' を返します。
-
audio port.setfillpoint(fillpoint) 'fill point' を設定します。
-
audio port.getconfig() 現在のポートのコンフィギュレーションを含んだコンフィギュレーションオブジェクトを返します。
-
audio port.setconfig(config) コンフィギュレーションを引数に取り、そのコンフィギュレーションに設定します。
-
audio port.getstatus(list) 最後のエラーについてのステイタスの情報を返します。
