diff options
-rw-r--r-- | Lib/aifc.py | 4 | ||||
-rw-r--r-- | Lib/audiodev.py | 25 |
2 files changed, 26 insertions, 3 deletions
diff --git a/Lib/aifc.py b/Lib/aifc.py index a9e6f85..22bff01 100644 --- a/Lib/aifc.py +++ b/Lib/aifc.py @@ -413,7 +413,7 @@ class Aifc_read: def __init__(self, f): if type(f) == type(''): - f = __builtin__.open(f, 'r') + f = __builtin__.open(f, 'rb') # else, assume it is an open file object already self.initfp(f) @@ -638,7 +638,7 @@ class Aifc_write: def __init__(self, f): if type(f) == type(''): filename = f - f = __builtin__.open(f, 'w') + f = __builtin__.open(f, 'wb') else: # else, assume it is an open file object already filename = '???' diff --git a/Lib/audiodev.py b/Lib/audiodev.py index 02d63f7..adfeb96 100644 --- a/Lib/audiodev.py +++ b/Lib/audiodev.py @@ -215,4 +215,27 @@ def AudioDev(): import sunaudiodev return Play_Audio_sun() except ImportError: - raise error, 'no audio device' + try: + import Audio_mac + return Audio_mac.Play_Audio_mac() + except ImportError: + raise error, 'no audio device' + +def test(fn = 'f:just samples:just.aif'): + import aifc + af = aifc.open(fn, 'r') + print fn, af.getparams() + p = AudioDev() + p.setoutrate(af.getframerate()) + p.setsampwidth(af.getsampwidth()) + p.setnchannels(af.getnchannels()) + BUFSIZ = af.getframerate()/af.getsampwidth()/af.getnchannels() + while 1: + data = af.readframes(BUFSIZ) + if not data: break + print len(data) + p.writeframes(data) + p.wait() + +if __name__ == '__main__': + test() |