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
    akari

    tschuldgigung. 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! 👍 👍 👍 ⚠ ⚠ ⚠


Log in to reply