Musik in Programm einfügen



  • Hi,

    ich benutze den Borland C++ Builder und wollte in ein Programm eine Hintergrundmusik einbinden.

    Ich möchte aber nicht das die Sound-Datei irgendwo auf der Festplatte liegt, sondern in der späteren exe integriert ist.

    Mit der MediaPlayer Komponente kann man ja glaube nur auf Dateien verlinken die auf einem Laufwerk gespeichert sind.

    Falls da jemand eine Idee hat würde ich mich freuen.

    mfg

    aggressor 🕶



  • Schau mal in der Hilfe oder in diesem Forum nach LoadResource und FindResource.

    Gruss



  • Danke erstmal, damit bin ich schonmal weiter gekommen =).

    Habe folgendes gemacht

    1. Hab ne Datei ( wave.rc ) mit dem code erstellt.

    MUSIK WAVE 1.wav
    

    2. Hab diese dann in mein Projekt eingebunden.
    3. Hab auf das Event OnCreat von Form1 folgenden Code gelegt

    PlaySound("MUSIK", HInstance, SND_RESOURCE);
    

    So das geht soweit.

    Nun startet das Programm und spielt den Sound ab aber ich kann nix machen. Die Form wird nichteinmal angezeigt ... Erst nachdem der Sound abgespielt wurde erscheint die Form. Wenn ich den Code aus Schritt 3 auf einen Button lege, wird nach anklicken von jenem Butten der Sound abgespielt aber die Form hängt sich solang auf bis der Sound abgespielt ist.

    Kann mir da jemand weitere Tipps geben, damit ich trotz laufender Musik im Hintergrund das eigendliche Programm nutzen kann ?

    Btw. mit folgendem Code tritt genau das selbe Problem auf ( Anstatt PlaySound("MUSIK", HInstance, SND_RESOURCE); von Schritt 3 )

    HANDLE ResHandle;
      BYTE *WavData;
    
      ResHandle = FindResource(HInstance, "MUSIK", "WAVE");
      ResHandle = LoadResource(HInstance, ResHandle);
      WavData = (unsigned char *)LockResource(ResHandle);
    
      PlaySound(WavData, NULL, SND_MEMORY);
    
      FreeResource(ResHandle);
    

    mfg

    aggressor



  • Hallo

    Dann schua dir noch mal die möglichen Werte für den dritten Parameter von Playsound
    an.

    bis bald
    akari



  • Danke dir 🕶

    läuft nun mit folgendem Code

    PlaySound("MUSIK", HInstance, SND_RESOURCE | SND_ASYNC | SND_LOOP);
    

    Danke allen, mein Prob is gelöst ^^

    mfg

    aggressor


Anmelden zum Antworten