Re: [Python-Dev] Test results of linuxaudiodev.c
Ka-Ping Yee
On Thu, 29 Jun 2000, Ka-Ping Yee wrote:
Try setting the environment variable AUDIODEV to /dev/audio before running the test script. Does that work any better?
Even if that works, i realize that's not the way the interface was intended to be used. To play an AU file, the routine should look something like this (not tested, as i don't have a working Linux box)... [snip]
Yup, that works fine. Don't understand the details - and as I have my graduation ceremony tomorrow I'm going to go to bed and leave learning them until some other occasion! Cheers, M. PS: my Lib/test/test_linuxaudiodev.py is now this: from test_support import verbose, findfile, TestFailed import linuxaudiodev import os,struct def play_au_file(path): fp = open(path, "r") # Read the .au file header. header = fp.read(24) hdrsize, length, encoding, rate, channels = \ struct.unpack(">xxxxiiiii", header) fp.read(hdrsize - 24) data = fp.read() fp.close() # Set the data format according to the code in the .au header. if encoding == 1: size, fmt = 8, linuxaudiodev.AFMT_MU_LAW elif encoding == 2: size, fmt = 8, linuxaudiodev.AFMT_S8 elif encoding == 3: size, fmt = 16, linuxaudiodev.AFMT_S16_BE else: raise "audio format not supported" dsp = linuxaudiodev.open("w") dsp.setparameters(rate, size, channels, fmt) dsp.write(data) dsp.close() def test(): play_au_file(findfile('audiotest.au')) test() ... which is an improvement on what's there now.
participants (4)
-
Greg Ward
-
Ka-Ping Yee
-
Michael Hudson
-
Vladimir.Marangozov@inrialpes.fr