playsound() mit snd_resource
-
Hallo,
ich hab ein Problem und komm seit 2 Stunden nicht mehr weiter...
ich bin neu in c++ bzw. allgemein in programmiersprachen und hab nen kleinen taschenrechner zum anfang programmiert. wollte jetzt aber ein bisschen mit soundfiles spielen, funktioniert auch bis ich die datei als resource in die exe haben wollte. der sound wird einfach nicht abgespielt und ich kann mir rein garnicht erklären warum nicht..
PlaySound("buh",NULL,SND_ASYNC|SND_RESOURCE);
dann in der buh.rc
//Microsoft Developer Studio generated resource script. // #include "resource.h" #define APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 2 resource. // #include "afxres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// // Deutsch (Deutschland) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU) #ifdef _WIN32 LANGUAGE LANG_GERMAN, SUBLANG_GERMAN #pragma code_page(1252) #endif //_WIN32 ///////////////////////////////////////////////////////////////////////////// // // WAVE // buh WAVE DISCARDABLE "buh.wav" #ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // TEXTINCLUDE // 1 TEXTINCLUDE DISCARDABLE BEGIN "resource.h\0" END 2 TEXTINCLUDE DISCARDABLE BEGIN "#include ""afxres.h""\r\n" "\0" END 3 TEXTINCLUDE DISCARDABLE BEGIN "\r\n" "\0" END #endif // APSTUDIO_INVOKED #endif // Deutsch (Deutschland) resources ///////////////////////////////////////////////////////////////////////////// #ifndef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 3 resource. // ///////////////////////////////////////////////////////////////////////////// #endif // not APSTUDIO_INVOKED
und die resource.h
//{{NO_DEPENDENCIES}} // Microsoft Developer Studio generated include file. // Used by buh.rc // #define IDR_WAVE1 101 #define buh 101 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 102 #define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_CONTROL_VALUE 1000 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif
so, keine compile errors, das programm läuft auch normal, nur kommt kein sound
wäre super wenn mir wer helfen kann
-
#define IDR_WAVE1 101
#define buh 101#define _APS_NEXT_SYMED_VALUE 101
... drei mal 101, ändere das zumindest oben mal ab und verwende für Resourcen nur Großschreibweise. Übrigens ist das hier das C++-Forum, nicht WinAPI.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Du brauchst
MAKEINTRESOURCE.
Also so:
PlaySound(MAKEINTRESOURCE(buh), GetModuleHandle(NULL), SND_ASYNC | SND_RESOURCE);
-
hi, schonmal danke im voraus.
nun wenn ich das so mache wie beschrieben, kommt folgendes:
error C2065: 'buh' : nichtdeklarierter Bezeichner
-
hi,
ich hab gerade von mciSendString() erfahren, welches auch mp3 unterstützt. es wäre super wenn ich dafür eine lösung bekäme, ich hab dafür ebenfalls keine lösung gefunden, nur für eine dateinamen angabe.
-
DubZ schrieb:
hi, schonmal danke im voraus.
nun wenn ich das so mache wie beschrieben, kommt folgendes:
error C2065: 'buh' : nichtdeklarierter Bezeichner
Resource.h inkludiert ?
DubZ schrieb:
hi,
ich hab gerade von mciSendString() erfahren, welches auch mp3 unterstützt. es wäre super wenn ich dafür eine lösung bekäme, ich hab dafür ebenfalls keine lösung gefunden, nur für eine dateinamen angabe.
mciSendString kann nicht mit Resourcen arbeiten... du bleibt dir nur <das> übrig.
-
danke und mist... seh ich das richtig das man in die konsole einen dateinamen eingibt der abgespielt wird? naja also mit wav arbeiten
dann würd ich gern nochmal auf playsound() zurück kommen und den posts vor mci. btw noch eine kurze frage dazu, kann playsound auch midi dateien abspielen?
-
-
hi,
nochmals vielen dank und sorry das ich euch soviel arbeit mache... ich weiss es zu schätzen. nun sehe ich allerdings heraus, dass midi sounddateien nur bestimmte töne abspielen können, also sozusagen noten?! naja wieder dumm gelaufen...
nun mal ganz allgemein und somit die letzte frage eigtl, ist es möglich mp3 file in resources abzuspielen?
-
Ja, aber nicht mit der WinAPI. Du kannst bspw. FMod nutzen, aber ob der Aufwand lohnt ist ne andere Sache.