C++ Hintergrundmusik abspiele, pausieren ... ()

...komplette Frage anzeigen

1 Antwort

Die Strings für "mciSendString" sind bei Microsoft dokumentiert:

http://msdn.microsoft.com/en-us/library/windows/desktop/dd743373%28v=vs.85%29.aspx

mciSendString hat in etwa folgende Syntax:

mciSendString("open FALLDOWN_MUSIC.wav alias BGM buffer 6",0,0,0);

Außer "open ..." dürften dich die Befehle "play BGM", "pause BGM" und "resume BGM" interessieren. Leider unterstützt MCI kein Flag, das in etwa dem "SND_LOOP" entspricht.

Stattdessen müsste man mit einer Notification ("play ... notify") arbeiten:

mciSendString("play BGM notify",0,0,winHandle);

Dabei ist "winHandle" das Handle eines (gegebenenfalls unsichtbaren) Windows-Fensters, das eine MM_MCINOTIFY-Botschaft zugesendet bekommt, wenn das Ende der Wave-Datei erreicht ist; darauf kann das Programm dann mit einem erneuten "play BGM notify"-Befehl reagieren.

Danke, aber leider funktionieren diese beiden Zeilen nicht.

0
@Cyberghost

Hast du dir schon einmal den Rückgabewert des "mciSendString"-Befehls angeschaut?

int x = mciSendString(...);

Dieser ist ein Fehlercode (im Google nach "MCI error codes" suchen).

0

Was möchtest Du wissen?