summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1994-09-16 10:55:53 (GMT)
committerGuido van Rossum <guido@python.org>1994-09-16 10:55:53 (GMT)
commite174c1500f9a9560a7c162eb3b15517c51c1582a (patch)
tree8669bec1a1f9bc3fe47a1fd08dac3b492c84541e
parent2d16703d654e773b09fd73e66ef663a2d5256768 (diff)
downloadcpython-e174c1500f9a9560a7c162eb3b15517c51c1582a.zip
cpython-e174c1500f9a9560a7c162eb3b15517c51c1582a.tar.gz
cpython-e174c1500f9a9560a7c162eb3b15517c51c1582a.tar.bz2
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').
-rw-r--r--Lib/aifc.py4
-rw-r--r--Lib/audiodev.py25
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()