symbian-qemu-0.9.1-12/python-2.6.1/Mac/Demo/sound/playaiff.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 from Carbon.Sound import *
       
     2 from Carbon import Snd
       
     3 
       
     4 import aifc, audioop
       
     5 
       
     6 fn = 'f:just samples:2ndbeat.aif'
       
     7 af = aifc.open(fn, 'r')
       
     8 print af.getparams()
       
     9 print 'nframes  =', af.getnframes()
       
    10 print 'nchannels =', af.getnchannels()
       
    11 print 'framerate =', af.getframerate()
       
    12 nframes = min(af.getnframes(), 100000)
       
    13 frames = af.readframes(nframes)
       
    14 print 'len(frames) =', len(frames)
       
    15 print repr(frames[:100])
       
    16 frames = audioop.add(frames, '\x80'*len(frames), 1)
       
    17 print repr(frames[:100])
       
    18 
       
    19 import struct
       
    20 
       
    21 header1 = struct.pack('llhhllbbl',
       
    22                       0,
       
    23                       af.getnchannels(),
       
    24                       af.getframerate(),0,
       
    25                       0,
       
    26                       0,
       
    27                       0xFF,
       
    28                       60,
       
    29                       nframes)
       
    30 print repr(header1)
       
    31 header2 = struct.pack('llhlll', 0, 0, 0, 0, 0, 0)
       
    32 header3 = struct.pack('hhlll',
       
    33                       af.getsampwidth()*8,
       
    34                       0,
       
    35                       0,
       
    36                       0,
       
    37                       0)
       
    38 print repr(header3)
       
    39 header = header1 + header2 + header3
       
    40 
       
    41 buffer = header + frames
       
    42 
       
    43 chan = Snd.SndNewChannel(5,0x00C0)
       
    44 
       
    45 Snd.SndDoCommand(chan, (bufferCmd, 0, buffer), 0)