Sound und Bilder in Winapi



  • 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 type

    main_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 declaration

    main_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.html

    Vielleicht kannst Du ja was damit anfangen... 🙄

    LG, Sascha


Anmelden zum Antworten