czy istnieje "powójne buforowanie sampli"?
Ostatnio zmodyfikowano 2011-10-23 08:53
mappo Temat założony przez niniejszego użytkownika |
czy istnieje "powójne buforowanie sampli"? » 2011-10-22 22:31:36 Witam. Napisałem prosty program w allegro (w celach nauki). #include <allegro.h> int main() { allegro_init(); install_keyboard(); set_color_depth( 16 ); set_gfx_mode( GFX_AUTODETECT, 640, 480, 0, 0 ); clear_to_color( screen, makecol( 10, 10, 10 ) ); install_sound( DIGI_AUTODETECT, MIDI_AUTODETECT, "" ); set_volume( 255, 255 ); SAMPLE * bufor = NULL; SAMPLE * C1 = NULL; C1 = load_sample( "C.wav" ); while( !key[ KEY_ESC ] ) { if( key[ KEY_A ] ) { play_sample( C1, 255, 127, 2000, 0 ); } } stop_sample( C1 ); destroy_sample( C1 ); allegro_exit(); return 0; } END_OF_MAIN(); Chodziło mi o to, by przy naciśnięciu "A" program zagra mi dźwięk. Jednak dźwięk zaczął "migotać". Proszę o pomoc. |
|
SeaMonster131 |
» 2011-10-22 22:36:52 Bo naciskając A, dźwięk cały czas zaczyna Ci odtwarzać się od początku. Daj sobie zmienną bool, która będzie true, gdy naciśniesz A, a gdy będzie true, to będzie odtwarzać ten dźwięk ;p |
|
Drraven |
» 2011-10-23 08:53:41 bool sample = false; if( key[ KEY_A ] ) { sample = true; } else { sample == false; } if( sample == true ) { play_sample( C1, 255, 127, 2000, 0 ); }
|
|
« 1 » |