• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Button oraz PlaySound() w C++ Builderze

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
412 wizyt
pytanie zadane 8 maja 2019 w C i C++ przez Franek313 Nowicjusz (160 p.)

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.

1 odpowiedź

0 głosów
odpowiedź 8 maja 2019 przez j23 Mędrzec (195,260 p.)
Zainteresuj się inną biblioteką audio. Może BASS?

Podobne pytania

0 głosów
1 odpowiedź 302 wizyt
pytanie zadane 14 grudnia 2018 w C i C++ przez Patryk_04 Nowicjusz (230 p.)
0 głosów
2 odpowiedzi 945 wizyt
pytanie zadane 24 stycznia 2020 w C i C++ przez Bfili Nowicjusz (120 p.)
0 głosów
1 odpowiedź 320 wizyt

93,188 zapytań

142,204 odpowiedzi

322,027 komentarzy

62,515 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2581p. - dia-Chann
  2. 2537p. - Łukasz Piwowar
  3. 2528p. - Łukasz Eckert
  4. 2514p. - CC PL
  5. 2476p. - Tomasz Bielak
  6. 2445p. - Łukasz Siedlecki
  7. 2443p. - rucin93
  8. 2418p. - Michal Drewniak
  9. 2373p. - Marcin Putra
  10. 2367p. - Adrian Wieprzkowicz
  11. 2317p. - Mikbac
  12. 2156p. - Anonim 3619784
  13. 2016p. - Michał Telesz
  14. 1733p. - rafalszastok
  15. 1628p. - Dominik Łempicki (kapitan)
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...