オーディオデバイスオブジェクトはopen()で返され、このオブジェ
クトには以下のメソッドが定義されています
(control
オブジェクトは除きます。これにはgetinfo()、
setinfo()、fileno()、drain()だけが定義されて
います):
) |
) |
SIGPOLL
の通知を組み立てるのに使われます。
) |
) |
) |
<sun/audioio.h>
とaudio(7I)に記載があ
ります。
メンバー名は相当するCのものとは少し違っています:
ステータスオブジェクトは1つの構造体です。
その中の構造体であるplayのメンバーには名前の初めに"o_"がつ
いていて、recordには"i_"がついています。
そのため、Cのメンバーであるplay.sample_rateは
o_sample_rateとして、record.gainはi_gainとして
参照され、
monitor_gainはそのままmonitor_gainで参照されます。
) |
) |
size) |
status) |
samples) |
オーディオデバイスはSIGPOLLを介して様々なイベントの非同期通知に対応して います。 Pythonでこれをどのようにしたらできるか、例を挙げます:
def handle_sigpoll(signum, frame): print 'I got a SIGPOLL update' import fcntl, signal, STROPTS signal.signal(signal.SIGPOLL, handle_sigpoll) fcntl.ioctl(audio_obj.fileno(), STROPTS.I_SETSIG, STROPTS.S_MSG)
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。