PLaySound aus der Ressource funktioniert nicht...!?



  • Hallo,
    Ich möchte gerne einen .wav Sound aud den Ressourcen abspielen.
    Wenn ich nun aber:

    PlaySound(MAKEINTRESOURCE(IDR_WAVE1),hInstance, SND_RESOURCE | SND_ASYNC);

    benutze, spuckt GetLastError immer Fehlercode 1813 aus, der
    "ERROR_RESOURCE_TYPE_NOT_FOUND
    1813 - The specified resource type cannot be found in the image file."
    bedeutet!

    Eingebunden ist die wave über die .rc mit:
    // WAVE
    //

    IDR_WAVE1 WAVE DISCARDABLE "Buttonclick.wav"

    Wie alle anderen Ressourcen auch, wie .bmp z.B.
    Warum, was ist daran falsch, ich haben schon alles probiert, auch das MAKEINTORESOURCE wegzulassen und nur den Namen zu nehmen etc.
    Msdn mach das auch so....



  • Stimmt der Wert in hInstance ? Ersetze das ggf mal durch einen direkten Aufruf von

    GetModuleHandle(NULL);
    


  • Mit GetModuleHandle(NULL); funktoniert das Genze auch nicht.
    Ich habe einmal versucht die WAVE mit LoadResource() zu laden;
    Ergibt die selbe Fehlermeldung....
    Kann es sein, dass etwas mit dem Ressourcentyp nicht stimmt?


  • Mod

    Öffne mal die fertige Datei (also DLL/EXE) im Visual Studio. Du kanst dann kontrollieren ob die entsprechenden Ressourcen wirklich drin sindund tatsächlich unt der Klasse "WAVE" abgelegt sind.

    Hast Du evtl. einen #define WAVE <numeric> drin?



  • Da ich nach dem Öffnen mit Visual C++ keine Ressourcen finden konnte,
    hab' ich es mit dem ResourceHacker gemacht...:
    Es sind alle Resourcen vorhanden, die ich eingebunden habe, nur die .wave nicht...warum?

    Ein definde habe ich nciht drin...
    Aber ich habe einmal versucht die .wave mit LoadResource zu laden, was das selbe Ergebins bringt, das allerdings auch erscheint, wenn ich versuche ein Icon oder eine Bitmap zu laden, die auf jeden Fall in der Datei drin sind.
    Nur mit meiner anderen Resource "PHP" funktioniert das ganze!



  • Sry für DP, aber ich sehe gerade, dass sie doch in der resource.h definiert sind, als:

    #define IDB_BITMAP1                     101
    #define IDI_ICON1                       102
    #define IDI_ICON2                       103
    #define IDR_PHP1                        106
    #define IDB_BITMAP2                     107
    #define IDB_BITMAP3                     108
    #define IDR_WAVE1                       112
    #define IDB_BITMAP4                     124
    

  • Mod

    PLaySound() schrieb:

    Da ich nach dem Öffnen mit Visual C++ keine Ressourcen finden konnte,
    hab' ich es mit dem ResourceHacker gemacht...:
    Es sind alle Resourcen vorhanden, die ich eingebunden habe, nur die .wave nicht...warum?

    Das musst Du wohl mit Deiner RC Datei klären. Aber VS muss auch die RC Dateien anzeigen.
    Wen also der ResourceHackerkeine WAVE Dateien anzeigt sind auch keine drin, und Dein PlaySound kann nicht funktionieren.



  • Nachdem mir aufgefallen ist, dass egal, was ich in der ResourceDatei mache, auch, wenn ich etwas lösche, der ResourceHacker sie immernoch anzeigt, habe ich alle Datein im Debug-Ordner und auch die Skript1.ASP gelöscht und schon funktioniert alles....son ein Mist.
    Vielen Dank für eure schnelle und gute Hilfe!


Anmelden zum Antworten