Musik bei TForm
-
danke. funktioniert. und wenn ich einen Sound abspielen will (also zum Beispiel eine hupe einmal), wenn ich auf einen Knopf drücke z.b. ? Was muss ich dann machen? das gleiche und das nostop weglassen?
P.S.: ih hab grade noch gemerkt, dass sich die Hintergrundmusik nicht wiederholt. wie kann man das machen?
-
P.s.: ich hab garec gemerkt, dass sich die Hintergrundmusik nicht weiderholt. Wie kann man das ändern.
Bitte um schnelle Antwort, da ich dies für ein Weihnachtsgeschenk brauche! :xmas1: :xmas2:
-
Hallo
Parameter SND_LOOP hinzufügen
MSDN schrieb:
SND_LOOP
The sound plays repeatedly until PlaySound is called again with the pszSound parameter set to NULL. You must also specify the SND_ASYNC flag to indicate an asynchronous sound event.
bis bald
akari
-
1. danke, kann man auch machen, dass nachdem z.B "Musik.wav" zuEnde ist, "Musik2.wav" abgespielt wird?
2. Und wie kann man einen zweiten Sound gleichzeitig abspielen?
-
drummi schrieb:
1. danke, kann man auch machen, dass nachdem z.B "Musik.wav" zuEnde ist, "Musik2.wav" abgespielt wird?
2. Und wie kann man einen zweiten Sound gleichzeitig abspielen?
Was mir immoment noch am wichtigsten ist, ist das hier:
3. Wie kann man die Musik denn stoppen? Wenn ich z.B. auf einen Knopf drücke, wird die aktuelle Musik gestoppt (und eine andere fängt an).
-
Hallo
Punkt 1 und 3 : Ob und wie das geht must du schon in der MSDN oder im WinAPI-Forum nachlesen. Denn PlaySound ist keine Builder-Funktion, sondern wird von Windows gestellt. Falls du mehr Kontrolle über die Wiedergabe und eine echte Builder-Komponente haben willst, dann schau dir TMediaPlayer in der Builder-Hilfe und über die Suchfunktion hier im Forum an.
2. Zweimal die Funktion PlaySound aufrufen bzw. zwei laufende TMediaPlayer-Instanzen? Aber als Hinweis : Beide Möglichkeiten sind nicht für die weitreichenden Anforderungen von Spielen gedacht. Falls du also wirklich mehrfache gestaffelfte Sound-Kanäle brauchst solltest du besser die Sound-Komponente von DirektX verwenden. Was natürlich auch wesentlich komplexer ist als PlaySound.
bis bald
akari
-
ok..., danke. also kann man nicht den sound irgentwie anhalten bzw. stoppen?
-
Hallo
Doch er läßt sich stoppen. Übergib dem ersten Parameter (statt dem Namen einer Datei)eine 0.
MSDN zu erstem Parameter schrieb:
A string that specifies the sound to play. If this parameter is NULL, any currently playing waveform sound is stopped. To stop a non-waveform sound, specify SND_PURGE in the fdwSound parameter.
bis bald
akari
-
danke! hab auch grad hingekriegt, dass erstoppt und eine andere Musik spielt.
Schon geschehen:
Musik läuft
Dann (ButtonClick):
PlaySound("RES_SOUND3",NULL,SND_RESOURCE | SND_ASYNC | SND_LOOP);
Also einfach das NOSTOp weglassen.
Ich hab mich nämlich grade gefragt, wofür das NOSTOP steht!?
-
Hallo
Muß ich jetzt wirklich die ganze Doku zu PlaySound aus der MSDN (bzw. dem SDK das beim Builder ist) herauskopieren?
SND_NOSTOP
The specified sound event will yield to another sound event that is already playing. If a sound cannot be played because the resource needed to generate that sound is busy playing another sound, the function immediately returns FALSE without playing the requested sound.
If this flag is not specified, PlaySound attempts to stop the currently playing sound so that the device can be used to play the new sound.bis bald
akari
-
entschuldige.... *schäm*
-
akari schrieb:
Hallo
Doch er läßt sich stoppen. Übergib dem ersten Parameter (statt dem Namen einer Datei)eine 0.
MSDN zu erstem Parameter schrieb:
A string that specifies the sound to play. If this parameter is NULL, any currently playing waveform sound is stopped. To stop a non-waveform sound, specify SND_PURGE in the fdwSound parameter.
bis bald
akaritschuldgigung. ich hoffe ich darf noch fragen: versteh das nicht richtig mit dem stoppen. Könntest du es mir vllt. freundlicherweise nochmal erklären?
-
Hallo
Das Stoppen sieht dann so aus :
PlaySound(NULL,NULL,SND_PURGE);
bis bald
akari
-
ah, ok. DAAANNNKEEE!