Sound und Bilder in Winapi
-
Hi
also die links sind super.
Bloß 1 Frage: Ich will die B Taste abfragen. dann geb ich das so an:
case WM_KEYDOWN: { switch (wParam) { case (42): .........Bloß der nimmt das nich, da passiert eifnach nichts.
playsound teste ich gleich.
Mit bilder meine ich hintergrundbild

Eldarion
-
Eldarion schrieb:
Bloß 1 Frage: Ich will die B Taste abfragen. dann geb ich das so an:
case WM_KEYDOWN: { switch (wParam) { case (42): .........Bloß der nimmt das nich, da passiert eifnach nichts.
Für solche einfachen Dinge, nimm lieber WM_CHAR und dann wParam.
Eldarion schrieb:
Mit bilder meine ich hintergrundbild

Nutz mal die Forumsuche.
-
Ok, ich such gleihc ma.
Ich frag jetz ganz dumm:
Wie muss so eine WM_CHAR abfrage aussehn?
ich hab einfach ma WM_KEYDOWN durch WM_CHAR ersetz, aber das funzt nihc
NOch ne frage: Wie muss der aufruf des sounds aussehn, wenn ich die datei Test.wav in dem ordner der exe datei einmal ganz normal abspielen will?
Ich hab das 2te und 3te parameter auf null gesetz, aber das futter der compiler nich.Eldarion
Edit: Das krieg ich hin.
Jetz hab ich nochnen prob: Wie kann ich mehrer sound gleichzeitig abspieln?
Wenn man taste a und b gleichzeitig drückt, solln die sounds auch gleichzeitig kommen. bzw. fast gleichzeitig. eben genau dann, wenn die taste gedrückt wird.So sieht mein code zurzeit aus:
case WM_KEYDOWN: { switch (wParam) { case 0x42: ; PlaySound("Bass.wav", NULL, SND_FILENAME); break; case 0x43: PlaySound("Hi-Hat closed.wav", NULL, SND_FILENAME); break; default: return 0; } InvalidateRect(hWnd, NULL, FALSE); return 0; }Wie könnte ich den anpassen, damti das funzt? evtl ganz anders?
habt ihr da ideen?Eldarion
Edit2: Es sollen auch ma 3 sound gleichzeitg sein
-
Da kommste IMHO mit PlaySound nicht weiter.
Da musst du dich in das MCI einarbeiten.
Siehe dazu auch noch
Mp3 mit MCI abspielen.
-
HI
ich beschäftige mich grdae mit dem aus dem FAQ. bloß mein compiler nimmt das nich an. obwohl ich die lib eingebunden hab, und den header.
Es kommen zich fehlermeldungen

Elarion
-
Einmal wie immer:
1. Welcher Compiler ?
2. Welche Fehlermeldungen (am besten vollständige Error-Log!) ?
-
Hi
ich arbeite mit Dev-C++.
HIer der compiler log:
Compiler: Default compiler
Building Makefile: "blub\Makefile.win"
Führt make... aus
make.exe -f "blub\Makefile.win" all
g++.exe -c main_vd.cpp -o main_vd.o -I"G:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"G:/Dev-Cpp/include/c++/3.4.2/backward" -I"G:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"G:/Dev-Cpp/include/c++/3.4.2" -I"G:/Dev-Cpp/include"main_vd.cpp: In function `int PlayMp3(char*)':
main_vd.cpp:11: warning: passing NULL used for non-pointer converting 3 of
MCIERROR mciSendStringA(const CHAR*, CHAR*, UINT, HWND\_\_*)' main\_vd.cpp:20: warning: passing NULL used for non-pointer converting 3 ofMCIERROR mciSendStringA(const CHAR*, CHAR*, UINT, HWND__*)'main_vd.cpp:29: warning: passing NULL used for non-pointer converting 3 of `MCIERROR mciSendStringA(const CHAR*, CHAR*, UINT, HWND__*)'
main_vd.cpp: In function
int PlayStop()': main\_vd.cpp:57: warning: passing NULL used for non-pointer converting 3 ofMCIERROR mciSendStringA(const CHAR*, CHAR*, UINT, HWND__*)'
main_vd.cpp: At global scope:
main_vd.cpp:68: error: `running' does not name a typemain_vd.cpp: In function
int WinMain(HINSTANCE\_\_*, HINSTANCE__*, CHAR*, int)': main_vd.cpp:85: error:WndProc' undeclared (first use this function)
main_vd.cpp:85: error: (Each undeclared identifier is reported only once for each function it appears in.)main_vd.cpp: In function
LRESULT WndProc(HWND\_\_*, UINT, WPARAM, LPARAM)': main\_vd.cpp:116: error:LRESULT WndProc(HWND__*, UINT, WPARAM, LPARAM)' used prior to declarationmain_vd.cpp:136: error: `PlayMP3' undeclared (first use this function)
make.exe: *** [main_vd.o] Error 1
Ausführung beendet
bidde schön
-
Wo ist das Problem ? Da steht doch alles.
Du hast eine Funktion 'WndProc' verwendet, aber nicht definiert (oder es fehlt schlicht-weg wie Forward-Deklaration).
-
HI
es geth jetz, ka worans lag.
Jetz isses aber wiklcih komisch. Ich benutz die funktion aus den FAQ um meine MP3 abzuspieln. Beim ersten ma geht das auch ganz wunderschön. bloß beim 2ten drücken, da kommt immer "Unable to open File" das versteh ich nich. einmal funzt es. beim zweiten mal nich.
Habt ihr evtl ne idee?
Eldarion
-
HI
es geht jetz, weil ich es über DirectX mache.
Ich hab nochma ne kleine frage:
Ich frage eine taste ab, wenn die gedrückt ist, und dann noch eine gedrückt is, soll was passiertn. aber ers wenn die zweite auch gedrückt ist. zurezti sieht das so aus:
case VK_TAB: { if(HiHat != TRUE) { HiHat_f->SetCurrentPosition(0); HiHat_f->Play(0, 0, 0); switch (wParam) { case 0x41://A { HiHat_c->SetCurrentPosition(0); HiHat_c->Play(0, 0, 0); break; } } } HiHat = TRUE; //HiHat_f->SetCurrentPosition(0); //HiHat_f->Play(0, 0, 0); break; }bloß der HiHat_c Buffer wird nich abgespielt.
Könnt irh mir helfen?
Eldarion
Edit: Hat sich ersma erledigt
-
Hallo!
Ich weiß nicht ob dieser Beitrag noch aktuell ist, hab nur mal nach "MCI" gesucht um zu sehen ob jemand Fragen dazu hat. Ich hab nämlich gestern zusammen mit einem Kollegen eine kleine Bibliothek geschrieben, welche die MCI-Funktionen in einer Klasse einkapselt. Da diese nicht auf MFC basiert läßt sie sich in ganz einfach in fast alle Projekte einbinden und man kann damit jede beliebige Sounddatei abspielen!
Es gibt dazu einen technischen Artikel, sowie Unterstützung durch ein Forum:
http://www.cetech-software.de.vu/codecenter/mci.htmlVielleicht kannst Du ja was damit anfangen...

LG, Sascha