Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

czy istnieje "powójne buforowanie sampli"?

Ostatnio zmodyfikowano 2011-10-23 08:53
Autor Wiadomość
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).

C/C++
#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. 
P-42516
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
P-42518
Drraven
» 2011-10-23 08:53:41
C/C++
bool sample = false;
if( key[ KEY_A ] )
{
    sample = true;
}
else
{
    sample == false;
}
if( sample == true )
{
    play_sample( C1, 255, 127, 2000, 0 );
}
P-42525
« 1 »
  Strona 1 z 1