オーディオデバイスオブジェクトは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)
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。