Added lot of junk laying around on harvie.cz
[mirrors/Programs.git] / c / sdl-old / main.c
diff --git a/c/sdl-old/main.c b/c/sdl-old/main.c
new file mode 100644 (file)
index 0000000..d04335d
--- /dev/null
@@ -0,0 +1,77 @@
+#include <stdlib.h>\r
+#include <SDL.h>\r
+#include <SDL_mixer.h>\r
+\r
+const max_sounds=50;\r
+Mix_Chunk *sounds[max_sounds];\r
+Mix_Music *music;\r
+\r
+//kanaly\r
+enum {\r
+SNDT_0,\r
+SNDT_1,\r
+SNDT_2,\r
+SNDT_3,\r
+SNDT_4,\r
+SNDT_5,\r
+SNDT_6,\r
+SNDT_7\r
+};\r
+\r
+//zvuky\r
+enum {\r
+SND_ZVUK,\r
+SND_NUM\r
+};\r
+\r
+int main(int argc,char *argv[])\r
+{\r
+if ( SDL_Init(SDL_INIT_AUDIO) < 0 ) {\r
+    fprintf(stderr, "Problem: %s\n", SDL_GetError());\r
+    exit(1); \r
+}\r
+atexit(SDL_Quit);\r
+\r
+//frekvence 22050 Hz\r
+//MIX_DEFAULT_FORMAT - Signed 16-bit zvuky, v systemovem bytovem poradi (little,big endian)\r
+//mono-stereo: pro mono vlozte 1, pro stereo 2\r
+\r
+if (Mix_OpenAudio(22050/*frekvence [Hz]*/, MIX_DEFAULT_FORMAT, 2/*mono-stereo*/,1024/*velikost bloku*/)==-1)\r
+{\r
+    fprintf(stderr,"Mix_OpenAudio: %s\n", Mix_GetError());\r
+    exit(1);\r
+}\r
+\r
+ sounds[SND_ZVUK] = Mix_LoadWAV("zvuk.wav");\r
+if (sounds[SND_ZVUK]==NULL) \r
+{\r
+    fprintf(stderr,"zvuk [zvuk.wav] nebyl nahran\n");exit(2);}\r
+\r
+ //kanal: -1 pro prvni volny kanal\r
+//pocet opakovani x: zvuk se bude opakovat x+1 krat,x=-1 pro stale opakovani.\r
+Mix_PlayChannel(-1/*kanal*/,sounds[SND_ZVUK]/*Mix_Chunk*/,0/*pocet opakovani*/);\r
+\r
+ music=Mix_LoadMUS("music.mp3");\r
+if (!music) {\r
+    printf("Mix_LoadMUS(\"music.mp3\"): %s\n", Mix_GetError());\r
+    exit(2);\r
+}\r
+\r
+//pocet opakovani x: hudba se bude opakovat x krat,x=-1 pro stale opakovani.\r
+//postupne zvysuje hlasitost hudby od 0 do 100% za 2000 ms po spusteni\r
+\r
+Mix_FadeInMusic(music, -1/*pocet opakovani*/,2000 /*cas[ms]*/);\r
+\r
+//lze i jen provest pouhe spusteni hudby\r
+//Mix_PlayMusic(music, -1/*pocet opakovani*/);\r
+\r
+SDL_Delay(5000);\r
+\r
+ //ztlumi hudbu az do ticha a vypne\r
+Mix_FadeOutMusic(2000);\r
+\r
+SDL_Delay(1000);\r
+\r
+Mix_CloseAudio();\r
+return 0;\r
+}
\ No newline at end of file
This page took 0.186924 seconds and 4 git commands to generate.