From: Guido van Rossum Date: Fri, 16 Sep 1994 10:55:53 +0000 (+0000) Subject: audiodev.py: Mac port. X-Git-Tag: v1.1~86 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e174c1500f9a9560a7c162eb3b15517c51c1582a;p=thirdparty%2FPython%2Fcpython.git 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'). --- diff --git a/Lib/aifc.py b/Lib/aifc.py index a9e6f85006fa..22bff01916d4 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 02d63f772473..adfeb96a5513 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()