Cześć, wyjaśniam już mój problem:
Otóż kiedy uruchamiam event przypisany pod przycisk (Button) to cały event tam zawarty działa bez problemu, ale jest jeden feler. Chciałbym w dowolnym momencie przerwać event wywołany przez przycisk naciskając ten przycisk ponownie lub naciskając inny przycisk, ale funkcja PlaySound(), której używam w evencie do odtworzenia muzyki blokuje program. Aby funkcja ta nie blokowała programu trzeba ją zapisać w takiej postaci:
PlaySound(TEXT("Tu jest link do pliku .wav w folderze"), NULL, SND_FILENAME | SND_ASYNC);
Taka postać rodzi z kolei nowy problem. Chcę odtworzyć parę utworów pod rząd, a element
SND_ASYNC
powoduje, że program wywołuje od razu następny utwór nie odtwarzając w ogóle pierwszego
wygląda to tak:
PlaySound(TEXT("plik1.wav"), NULL, SND_FILENAME | SND_ASYNC);
PlaySound(TEXT("plik2.wav"), NULL, SND_FILENAME | SND_ASYNC);
Kod powyżej skutkuje tym, że odtwarza się jedynie plik2.wav, a plik1.wav zostaje pominięty, ponieważ SND_ASYNC działa tak, że podczas wykonywania procesu możemy go przerwać zaczynając inną operację, a taką właśnie operacją jest druga linia kodu.
Mój cel jest taki abym mógł bez blokowania programu (czekania, aż jeden utwór się skończy) nacisnąć przycisk (Button) jeszcze raz i zacząć proces od nowa jednocześnie mogąc odtworzyć utwory jeden po drugim wewnątrz eventu.