mirror of
https://github.com/python/cpython.git
synced 2025-01-25 02:24:25 +08:00
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').
This commit is contained in:
parent
2d16703d65
commit
e174c1500f
@ -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 = '???'
|
||||
|
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user