Test results of linuxaudiodev.c
Michael Hudson
mwh21 at cam.ac.uk
Fri Jun 30 16:50:37 EDT 2000
To python-dev: Sorry for the hiatus.
To python-list: does someone who knows about audio and can run linux
want to play with this (Ping and I fall into just one of these
categories each!).
Ka-Ping Yee <pingster at ilm.com> writes:
> On 30 Jun 2000, Michael Hudson wrote:
> > 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!
>
> Cool.
>
> Okay, i just discovered sunau.py. Here's my real shot at
> test_linuxaudiodev.py. Can you give this a try?
>
>
> ---- test_linuxaudiodev.py ----
> from test_support import verbose, findfile, TestFailed
> import linuxaudiodev
> import os, sunau
>
> formats = {("ULAW", 1): linuxaudiodev.AFMT_MU_LAW,
> ("NONE", 1): linuxaudiodev.AFMT_S8,
> ("NONE", 2): linuxaudiodev.AFMT_S16_BE}
>
> def play_au_file(path):
> au = sunau.open(path, "r")
> data = au.readframes(sunau.AUDIO_UNKNOWN_SIZE)
> au.close()
>
> spec = (au.getcomptype(), au.getsampwidth())
> if not has_key(formats, spec):
^^^^^^^
Oops?
> raise "audio format not supported by linuxaudiodev"
Maybe you mean:
raise TestFailed, "audio format not supported by linuxaudiodev"
? I thought string exceptions were deprecated...
> dsp = linuxaudiodev.open("w")
> dsp.setparameters(au.getframerate(), au.getsampwidth() * 8,
> au.getnchannels(), formats[spec])
> dsp.write(data)
> dsp.close()
>
> def test():
> play_au_file(findfile('audiotest.au'))
>
> test()
This doesn't work. I don't really understand why.
For audiotest.au, |spec| is ("ULAW",2), which I don't think is right;
file(1) says
audiotest.au: Sun/NeXT audio data: 8-bit ISDN u-law, mono, 8000 Hz
So I think this could be a bug in sunau.
The other data (au.getframerate(), au.getnchannels()) agrees with
file(1).
Anybody have a better idea?
Cheers,
Michael Hudson, BA (as of today! woohoo!)
More information about the Python-list
mailing list