def open(self): MovieOutputStream.open(self) print >>stderr, 'Creating movie: %r: version=%d, size=%dx%d, framerate=%s, compression=%s' % \ (self.info.filename, self.info.swf_version, self.info.width, self.info.height, self.info.framerate, self.info.compression) self.writer = SWFWriter( self.info.filename, self.swf_version, (0, self.info.width * 20, 0, self.info.height * 20), self.info.framerate, self.info.compression) # Write BGColor self.writer.start_tag() self.writer.writergb((255, 255, 255)) self.writer.end_tag(9) # add mp3 header (if any) if self.info.mp3: # write SoundStreamHeader assert self.info.mp3.isstereo != None, 'mp3 isstereo is not set.' assert self.info.mp3.sample_rate != None, 'mp3 sample_rate is not set.' self.writer.start_tag() MP3_RATE = {11025: 1, 22050: 2, 44100: 3} rate = MP3_RATE[self.info.mp3.sample_rate] self.writer.writeui8(rate << 2 | 2 | int(self.info.mp3.isstereo)) self.writer.writeui8(rate << 2 | (2 << 4) | 2 | int(self.info.mp3.isstereo)) self.writer.writeui16( int(self.info.mp3.sample_rate / self.info.framerate)) # the first seeksamples, mp3.seek_frame should be preformed in advance. self.writer.writeui16(self.info.mp3.seeksamples) self.writer.end_tag(18) self.othertags = [] return
def open(self): MovieOutputStream.open(self) print >>stderr, 'Creating movie: %r: version=%d, size=%dx%d, framerate=%s, compression=%s' % \ (self.info.filename, self.info.swf_version, self.info.width, self.info.height, self.info.framerate, self.info.compression) self.writer = SWFWriter( self.info.filename, self.swf_version, (0, self.info.width * 20, 0, self.info.height * 20), self.info.framerate, self.info.compression) # Write BGColor self.writer.start_tag() self.writer.writergb((255, 255, 255)) self.writer.end_tag(9) # add mp3 header (if any) if self.info.mp3: # write SoundStreamHeader assert self.info.mp3.isstereo != None, 'mp3 isstereo is not set.' assert self.info.mp3.sample_rate != None, 'mp3 sample_rate is not set.' self.writer.start_tag() MP3_RATE = {11025: 1, 22050: 2, 44100: 3} rate = MP3_RATE[self.info.mp3.sample_rate] self.writer.writeui8(rate << 2 | 2 | int(self.info.mp3.isstereo)) self.writer.writeui8(rate << 2 | (2 << 4) | 2 | int(self.info.mp3.isstereo)) self.writer.writeui16( int(self.info.mp3.sample_rate / self.info.framerate)) # the first seeksamples, mp3.seek_frame should be preformed in advance. self.writer.writeui16(self.info.mp3.seeksamples) self.writer.end_tag(18) # Make the movie unscalable. if not self.info.scalable: # add actionscript: Stage.scaleMode("noScale") self.writer.start_action() self.writer.do_action( 0x96, 7) # PushData, size= 1 (type) + len(data) + 1 (0x00) self.writer.writeui8(0x00) # String self.writer.writestring('Stage') self.writer.do_action(0x1c) # GetVariable self.writer.do_action(0x96, 11) # Push self.writer.writeui8(0x00) # String self.writer.writestring('scaleMode') self.writer.do_action(0x96, 9) # Push self.writer.writeui8(0x00) # String self.writer.writestring('noScale') self.writer.do_action(0x4f) # setMember self.writer.end_action() self.othertags = [] return