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

question-closed allegro 5 pomoc

Object Storage Arubacloud
0 głosów
587 wizyt
pytanie zadane 29 lipca 2015 w C i C++ przez Hokage2910 Początkujący (360 p.)
zamknięte 31 lipca 2015 przez Hokage2910
napisz mi ktoś prosty przykład jak odtwarzać dzwięk z pliku wav?

prosze także o wytułmaczenie mniej więcej co robi dana linja kodu :) (Code::blocks c++)
komentarz zamknięcia: .

2 odpowiedzi

+1 głos
odpowiedź 29 lipca 2015 przez nowyfolder Mądrala (7,250 p.)
edycja 30 lipca 2015 przez nowyfolder
al_reserve_samples(n);
//gdzie n to liczba roznych plikow dzwiekowych z jakich chcesz korzystac
ALLEGRO_SAMPLE * zmienna =  al_load_sample("sciezkaDoPliku.wav");
//zaladuj "próbkę"
ALLEGRO_SAMPLE_INSTANCE * zmienna2 =  al_create_sample_instance(zmienna);
//zrob "obiekt" tej probki
//al_set_sample_instance_playmode(zmienna2, ALLEGRO_PLAYMODE_LOOP);
//jesli odkomentujesz linie powyzej to muzyka bedzie puszczana ciagle, w petli
al_attach_sample_instance_to_mixer(zmienna2, al_get_default_mixer());
//podepnij zmienna do domyslego mixera
al_play_sample(zmienna2, 1, 0, 1, ALLEGRO_PLAYMODE_ONCE, NULL);
//zmienna, glośnosc, 0 - centered(zaden glosnik nie gra bardziej), 1 - normalna predkosc, playmode - wiadomo, NULL - wskaznik do opcjonalnej zmiennej, malo istotna rzecz

Chyba dobrze podałem, podobny kod miałem w projekcie pisanym ponad rok temu, coś chyba jeszcze pamiętam wink

Szczegóły oczywiście znajdziesz w manualu:
https://www.allegro.cc/manual/5/index.html

komentarz 30 lipca 2015 przez Hokage2910 Początkujący (360 p.)
edycja 30 lipca 2015 przez Hokage2910
a jakie dodać biblioteki? :D

 

dobra mam troche bibliotek

#include <allegro5/allegro.h>
#include <allegro5/internal/alconfig.h>
#include <allegro5/allegro_image.h>
#include <allegro5/allegro_font.h>
#include <allegro5/allegro_ttf.h>
#include <allegro5/allegro_audio.h>
#include <allegro5/allegro_acodec.h>

oraz kod i w 3 linji jest błąd

 al_reserve_samples(1);

   ALLEGRO_SAMPLE * zmienna =  al_load_sample("boten.wav");
  ALLEGRO_SAMPLE_INSTANCE zmienna2 =  al_create_sample_instance(zmienna);tu!!!!
   al_set_sample_instance_playmode(zmienna2, ALLEGRO_PLAYMODE_LOOP);
   al_attach_sample_instance_to_mixer(zmienna2, al_get_default_mixer());
    al_play_sample(zmienna2, 1, 0, 1, ALLEGRO_PLAYMODE_ONCE, NULL);

debuger:

error: variable 'ALLEGRO_SAMPLE_INSTANCE zmienna2' has initializer but incomplete type|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

o co tu chodzi? :D
komentarz 30 lipca 2015 przez nowyfolder Mądrala (7,250 p.)
To chyba powinien byc wskaźnik, zmień na ALLEGRO_SAMPLE_INSTANCE*
komentarz 30 lipca 2015 przez Hokage2910 Początkujący (360 p.)
no masz racje potrzebny był tam wskanik ale teraz mam błąd w lini z al_play_sample(zmienna2, 1, 0, 1, ALLEGRO_PLAYMODE_ONCE, NULL);

debugger:

error: cannot convert 'ALLEGRO_SAMPLE_INSTANCE*' to 'ALLEGRO_SAMPLE*' for argument '1' to 'bool al_play_sample(ALLEGRO_SAMPLE*, float, float, float, ALLEGRO_PLAYMODE, ALLEGRO_SAMPLE_ID*)'|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
komentarz 30 lipca 2015 przez nowyfolder Mądrala (7,250 p.)

Widocznie jako argument nie powinien być  ALLEGRO_SAMPLE_INSTANCE*, lecz ALLEGRO_SAMPLE*. Co swoją drogą jest wyraźnie napisane i powinno się samemu na to wpaść! indecision
CZyli zamiast zmienna2, powinno być zmienna w tym przypadku.

komentarz 30 lipca 2015 przez Hokage2910 Początkujący (360 p.)
chyba mam coś źle zainstalowane bo co bym nie zmienił w kodzie to i tak nie działa :C

czasem sie wyświetla błąd w lini kodu a czasem np

undefined reference to `al_load_sample'|
undefined reference to `al_reserve_samples'|

zgłupiałem :D
komentarz 30 lipca 2015 przez nowyfolder Mądrala (7,250 p.)
A zlinkowałeś odpowiednie pliki .lib?
komentarz 30 lipca 2015 przez Hokage2910 Początkujący (360 p.)
wcześniej założyłem temat w którym ktoś podał mi link do poradnika jak zainstalować allegro 5:http://allegro5kurs.blogspot.com/2012/05/lekcja-102-allegro5-kurs-pobieranie-i.html

zainstalowałem allegro 5 według niego więc wszystko powinno być ok
0 głosów
odpowiedź 29 lipca 2015 przez toaspzoo Dyskutant (8,300 p.)
komentarz 29 lipca 2015 przez Patrycjerz Mędrzec (192,320 p.)
Jemu chodziło o Allegro 5. Różni się ono do wersji 4.x. Ja nie pomogę, bo nie znam się na tej wersji.

Podobne pytania

0 głosów
1 odpowiedź 273 wizyt
pytanie zadane 22 sierpnia 2015 w C i C++ przez Patryk Krajewski Nałogowiec (26,170 p.)
0 głosów
1 odpowiedź 4,746 wizyt
pytanie zadane 29 lipca 2015 w C i C++ przez Hokage2910 Początkujący (360 p.)
0 głosów
1 odpowiedź 297 wizyt

92,592 zapytań

141,441 odpowiedzi

319,703 komentarzy

61,978 pasjonatów

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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...