Hintergrundmusik



  • 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



  • ttester schrieb:

    Und jetzt nur noch das es immer wiederholt wird

    Für einen Blick in die Hilfe hat es wieder nicht gereicht?

    Ich hoffe ernsthaft, dass dir deine Fragen hier wenigstens ein bischen peinlich sind.



  • Jansen schrieb:

    ttester schrieb:

    Und jetzt nur noch das es immer wiederholt wird

    Für einen Blick in die Hilfe hat es wieder nicht gereicht?

    Ich hoffe ernsthaft, dass dir deine Fragen hier wenigstens ein bischen peinlich sind.

    Ist wohl Richtig, aber das steht in der Hilfe zu Windows SDK und die ist
    in Englisch und vorallem nicht so gut Übersichtlich wie die Borland-Hilfe.
    Wenn man mit der WindowsSDK-Hilfe nicht klar kommt, kann ich das Verstehen
    und liefere lieber ne Lösung.

    gruß Micha



  • Das war ausdrücklich an ttester gerichtet.

    Aber weil du dich angesprochen fühlst: Deine Kritik an der SDK-Hilfe kann ich nachvollziehen, genau aus diesem Grund habe ich selbst auch ein konkretes Code-Beispiel gegeben, entgegen meinen üblichen Gewohnheiten.
    Aber hast du wirklich den Eindruck, das ttester daraufhin a) überhaupt mal in die Hilfe gesehen und es nur nicht verstanden hat, und dass er b) auch nur andeutungsweise versucht hat, die Code-Beispiele zu verstehen, anstatt sie einfach abzukopieren?



  • Hmmm,

    ich glaub du hast Recht Jansen, mal Abgesehen von der Hilfe findet man
    selbst im Forum viele Ansätze und über Google wird man auch fündig.
    Wenn ich mir mal diesen Thread genauer Betrachte dann sieht das wirklich
    aus wie: "Schreib du Lösung, ich mach C.a.P."

    Ich fühlte mich nicht Angesprochen, ich wollte ttester nur in Schutz nehmen,
    da der Stoff ja nicht einfach ist, aber wie ich das jetzt sehe, wird er für
    ttester auch nie einfach werden 👎

    gruß Micha



  • Helium schrieb:

    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!!!

    Kommentar: 3 Leute, die in einem String keinen Dateinamen ersetzen können. Schon peinlich... 🕶



  • Ich hab vor 4 Tagen angefangen mit C++, tut mir leid das ich noch soooo peinliche Fragen stelle 😡

    ThX promicha,
    wenigsten ein netter User



  • ttester schrieb:

    Ich hab vor 4 Tagen angefangen mit C++, tut mir leid das ich noch soooo peinliche Fragen stelle 😡

    Das hat dir auch leid zu tun, denn so wie du fängt man nicht mit C++ an! Beginnen tust du mit Konsolenanwendungen, damit du überhaupt erstmal verstehst, was in den BCB-GUI-Anwendungen abgeht. Und dein Versuch war wirklich peinlich, denn das hätte sicher jeder Newbie, der einigermaßen logisch denken kann, hinbekommen.



  • Hmm, beim Builder 4 ging das, aber jetzt beim 6 startet sie wieder nicht 😑
    Was hat die 4 was der 6 net hat das das beim 6er net geht?



  • probiers mal mit _beep(1000,100); -.- klingt zwar scheisse aber es funktioniert sicher vorher musst aber die windows.h einbinden, soviel ich noch weiß



  • ttester schrieb:

    Hmm, beim Builder 4 ging das, aber jetzt beim 6 startet sie wieder nicht

    Wer oder was ist "sie"?



  • Hmm das is doch doch kein Midi aufruf oder?

    @Fritz
    Ich hack doch auch nicht auf deiner HP rum, also hör bitte auf hier rumzuprotzen.



  • mit "sie" ist die Midi gemeint 🙄



  • Ich protze nicht rum, sondern sage die Wahrheit. Und um meine HP geht es hier nicht. Meinetwegen mach einen Thread in nem anderen Forum auf, in dem du über meine HP herziehst. Hast du im BCB6 denn auch mmsystem.h inkludiert?



  • //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include <mmsystem.h>
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    mciSendString("open \\test.mid type sequencer alias MIDI", NULL, 0, 0);
    mciSendString("play MIDI", NULL, 0, 0);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    mciSendString("open \\test.mid type sequencer alias MIDI", NULL, 0, 0);
    mciSendString("play MIDI", NULL, 0, 0);
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::FormShow(TObject *Sender)
    {
    mciSendString("open \\test.mid type sequencer alias MIDI", NULL, 0, 0);
    mciSendString("play MIDI", NULL, 0, 0);
    }
    //---------------------------------------------------------------------------
    

    Habs mal überall reinkopiert, das geht nirgends.



  • Mit \\test.mid verwendest du einen relativen Pfad. Das ist immer eine potentielle Fehlerquelle, deshalb ist grundsätzlich zu absoluten Pfadangaben zu raten.

    Ansonsten: ich vermute, dass der von dir erwähnte BCB4 auf einem anderen Rechner läuft als der BCB6?
    Hast du mal geprüft, ob der BCB6-Rechner überhaupt MIDI korrekt abspielt? Vielleicht ist ja nur der entsprechende Kanal der Windows-Lautstärkeregelung (Mixer) deaktiviert.



  • FormShow wird kurz nach TForm (Owner) aufgerufen,
    somit startest du den Sequencer 2x mit dem gleichen Alias.
    Das ist wie ein Tritt im Hintern für das MIDI-Gerät.
    MCI Error.

    gruß Micha



  • ttester schrieb:

    Hä? Was das den für ne seite ^^
    wollte doch nur wissen wie ich ne Midi als Background laufen lassen kann.

    Zieh dir einfach folgende Borland C Builder Datei von:
    http://www.allegro.cc/files/4.0.2/allegro-4.0.2-bcc32.zip

    bzw.
    http://www.allegro.cc/files/index.html?&request=1078946933&

    Dann einfach einbinden und los gehts 🙂

    Hier ein kleines Tutorial:
    http://www.grandgent.com/gfoot/vivace/vivace.txt


Anmelden zum Antworten