X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fexample%2Fsound.c;h=2c0d892de41472afa2b93fa6f4bae2f62d19490c;hb=106746cd2ab52d9fa8e0ee05fd137a05c1255cd8;hp=8ddf34f8cbf1b54abdfc53bf14e0ed29d109871d;hpb=9d2fbab24fcd0e005419a7c8c01c1915c4cb9575;p=swftools.git diff --git a/lib/example/sound.c b/lib/example/sound.c index 8ddf34f..2c0d892 100644 --- a/lib/example/sound.c +++ b/lib/example/sound.c @@ -7,8 +7,19 @@ Copyright (c) 2002 Matthias Kramm - This file is distributed under the GPL, see file COPYING for details -*/ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include @@ -19,11 +30,10 @@ int main (int argc,char ** argv) { SWF swf; RGBA rgb; SRECT r; + int blocksize = 2304; S32 width=300,height = 300; - U16 block[1152*2]; + U16 block[blocksize]; TAG * tag; - FILE* fi = fopen("test.mp3","wb"); - FILE* fi2 = fopen("test2.wav","wb"); int f,i,ls1,fs1; int count; @@ -32,7 +42,7 @@ int main (int argc,char ** argv) memset(&swf,0x00,sizeof(SWF)); // set global movie parameters swf.fileVersion = 4; // make flash 4 compatible swf - swf.frameRate = 19*256; // about 19 frames per second + swf.frameRate = 18*256; // about 18 frames per second swf.movieSize.xmax = 20*width; // flash units: 1 pixel = 20 units ("twips") swf.movieSize.ymax = 20*height; @@ -45,22 +55,20 @@ int main (int argc,char ** argv) swf_SetRGB(tag,&rgb); tag = swf_InsertTag(tag, ST_SOUNDSTREAMHEAD2); - swf_SetSoundStreamHead(tag, 1152); + swf_SetSoundStreamHead(tag, 11025/18); - for(t=0;t<64;t++) { + for(t=256;t>=0;t--) { int s; tag = swf_InsertTag(tag, ST_SOUNDSTREAMBLOCK); - for(s=0;s<1152*2;s++) { - block[s] = (int)(32767*sin((s*16*3.14159)/1152)); + for(s=0;sdata[4], tag->len-4, 1, fi); - fwrite(block, 1152*2*2, 1, fi2); + swf_SetSoundStreamBlock(tag, block, 1, 0); tag = swf_InsertTag(tag, ST_SHOWFRAME); } - fclose(fi); - fclose(fi2); + + tag = swf_InsertTag(tag, ST_END); f = open("sound.swf",O_WRONLY|O_CREAT|O_TRUNC, 0644); if FAILED(swf_WriteSWF(f,&swf)) fprintf(stderr,"WriteSWF() failed.\n");