From e174c1500f9a9560a7c162eb3b15517c51c1582a Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 16 Sep 1994 10:55:53 +0000 Subject: audiodev.py: Mac port. Audio_mac.py: Mac specific class for audiodev.py. aifc.py: open files for reading/writing in binary mode ('rb', 'wb'). --- Lib/aifc.py | 4 ++-- 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() -- cgit v0.12