Hintergrundmusik
-
Hi,
wollte mal fragen wie man in C++ Hintergrundmusik einbinden kann, z.B. Midis.ThX
-
-
Hä? Was das den für ne seite ^^
wollte doch nur wissen wie ich ne Midi als Background laufen lassen kann.
-
Hä? Was das den für ne seite ^^
Dumme Frage. Die von Allegro. (Keine Kommentare von wegen dumme Fragen gäbe es nicht!)
wollte doch nur wissen wie ich ne Midi als Background laufen lassen kann.
Wenn du es ganz einfach haben willst, setz dich ma mit Allegro auseinander.
-
mit c++ alleine kannst du keine musik machen.
du musst schon irgendeine bibilothek benutzen, wie zb: allegro oder irgendwas anderes.versuch doch mal zu erklären was du genau machen willst.
spiel, windowsanwendung oder was weis ich
-
Ich bin noch nicht sehr bewandert in C++
Heißt hab kein Plan was allegro sein sollNa es soll auf so nem Standartformular/Anwendung laufen welche glei am Start vom Borland C+ Builder kommt.
ne wave kann ich ja mit nem Buttondruck startensndPlaySoundA("c:\.....wav",0);
Aber kann man da nicht genauso einfach ne Midi in Hintergrund legen?
-
Dieser Thread wurde von Moderator/in davie aus dem Forum C++ in das Forum Borland C++ Builder (VCL/CLX) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Da du nach VCL verschoben wurdest: sieh dir mal TMediaPlayer an.
Ansonsten (alles WinAPI):
// start mciSendString("open c:\\your.mid type sequencer alias MIDI", NULL, 0, 0); mciSendString("play MIDI", NULL, 0, 0); // stop mciSendString("close MIDI", NULL, 0, 0);
Wav-Files kannst du auch einfach mit PlaySound() abspielen, dabei den SND_ASYNC- Parameter benutzen.
-
hmm das geht net
Wo muss ich das den hinschreiben? Ach und is das Background oder öffnet sich dann der Mediaplayer?Code is
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //---------------------------------------------------------------------------
-
Das ist Background-Mukke. Du musst noch die mmsystem.h inkludieren.
-
mmsystem.h hab ich includet, hab ja sndPlaySoundA("\1.wav",0); was geht.
Wie würde das// start mciSendString("open c:\\your.mid type sequencer alias MIDI", NULL, 0, 0); mciSendString("play MIDI", NULL, 0, 0); // stop mciSendString("close MIDI", NULL, 0, 0);
mit der datei "bg.mid" aussehen?
-
ttester schrieb:
mit der datei "bg.mid" aussehen?
- Kein Kommentar -
-
Weil sich bei
mciSendString("\bg.mid", NULL, 0, 0);
mciSendString("play MIDI", NULL, 0, 0);garnix tut, darum frag ich.
-
Hallo
ist doch logisch
mciSendString("\bg.mid", NULL, 0, 0); mciSendString("play MIDI", NULL, 0, 0);
versuchs dochmal mit
mciSendString("\\bg.mid", NULL, 0, 0); mciSendString("play MIDI", NULL, 0, 0);
wenn deim midi-File in der Root ist ???
MfG
Klaus
-
@KlausB: - Kein Kommentar -
-
also bei
mciSendString("\bg.mid", NULL, 0, 0);
mciSendString("play MIDI", NULL, 0, 0);bleibt es ruhig. Wo muss ich das eigendlich hinschreiben wenn die Midi bei Programmaufruf starten soll? Vor oder nach TForm1 *Form1; ?
-
Für was steht '\b'? Genau für BELL (normalerweise ein Pipen des in den PC eingebauten Lautsprechers).
Guck dir mal KlausB's Antwort an!!!
-
So hab die Midi jetzt test genannt.
sie startet weder mitmciSendString("c:\test.mid", NULL, 0, 0);
mciSendString("play MIDI", NULL, 0, 0);noch mit
mciSendString("c:\\test.mid", NULL, 0, 0);
mciSendString("play MIDI", NULL, 0, 0);habs mal in einem Timer versucht, geht aber auch net
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
mciSendString("c:\\test.mid", NULL, 0, 0);
mciSendString("play MIDI", NULL, 0, 0);
}
-
Hast du der MCI auch schon gesagt das er das MIDI Gerät ÖFFNEN soll?
mciSendString("open c:\\test.mid type sequencer alias MIDI", NULL, 0, 0); mciSendString("play MIDI", NULL, 0, 0);
Und liegt die Datei "test.mid" auch im Ordner "C:" ?
Des weiteren lege diesen Code z.B. in "OnFormShow" Ereignissroutine der Form
gruß Micha
Edit PS:
Lese mal was über Strings, dann verstehst du auch warum \\ richtig ist!
-
Oh das geht, thx.
Und jetzt nur noch das es immer wiederholt wird, also loop oder so, dann is perfekt
THx
-
änder:
mciSendString("play MIDI repeat", NULL, 0, 0);
gruß Micha