Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi MIDI-Dateien als Ressourcen einbinden & abspielen (https://www.delphipraxis.net/52924-midi-dateien-als-ressourcen-einbinden-abspielen.html)

3_of_8 6. Sep 2005 21:15


MIDI-Dateien als Ressourcen einbinden & abspielen
 
Hallo erstmal.

Ich bin gerade dabei, die Junioraufgabe des Bundeswettbewerbs für Informatik zu lösen.
Ich werde mit allem ganz gut fertig, aber jetzt will ich noch Hintergrundmusik.

Da das ganze was mit Lemmingen zu tun hat, hab ich mir 10 Original Lemming MIDIS ausgesucht, für jedes der 10 Level.

Jetzt muss ich die Teile aber noch einbinden, und da ich es lieber schön verpackt habe, würde ich die MIDIS gerne als Ressourcen in die EXE einbinden und aus dem Programm abspielen, so ähnlich wie das Abspielen von WAVE-Ressourcen mit PlaySound (Was auch gleichzeitig noch funktionieren sollte.)

Vielen Dank für die Hilfe.

MarcoWarm 7. Sep 2005 18:33

Re: MIDI-Dateien als Ressourcen einbinden & abspielen
 
und wo genau liegt dein Problem?
Beim rausholen oder reinpacken in die Ressource?

3_of_8 7. Sep 2005 22:35

Re: MIDI-Dateien als Ressourcen einbinden & abspielen
 
Bei Letzterem.

Die *.RES Datei habe ich schon erstellt (mit BRCC32.exe)

Wie ich das jetzt raushole und abspiele weiß ich nicht. Sollte auf möglichst vielen Rechner funzen.

3_of_8 8. Sep 2005 18:58

Re: MIDI-Dateien als Ressourcen einbinden & abspielen
 
*push* (Ich weiß, noch keine 24h, aber es ist wirklich WICHTIG!)

Flocke 8. Sep 2005 19:14

Re: MIDI-Dateien als Ressourcen einbinden & abspielen
 
Also du könntest die Dateien natürlich einfach wieder in ein temporäres Verzeichnis entpacken und dann via Mediaplayer abspielen. Das Speichern solltest du mit einem TResourceStream und einem TFileStream hinbekommen.

3_of_8 8. Sep 2005 19:15

Re: MIDI-Dateien als Ressourcen einbinden & abspielen
 
Könntest du das spezifizieren? Entpacken tue ich nur ungern.

Flocke 8. Sep 2005 19:26

Re: MIDI-Dateien als Ressourcen einbinden & abspielen
 
Das Entpacken ist einfach:

Delphi-Quellcode:
with TResourceStream.Create(hInstance, 'MIDI1', 'MIDI') do
begin
  SaveToFile(TempPath + 'MIDI1.mid');
  Free;
end;
(der zweite Parameter ist der Ressourcen-Name und der dritte der Ressourcen-Typ aus deiner RC-Datei)

Das Problem mit MIDIs ist, dass du, wenn du sie selbst abspielst, auf das Timing achten musst. Du müsstest also jede Note genau zum passenden Zeitpunkt senden. Diese Arbeit nimmt der MediaPlayer dir ab.

Zweite Variante - fällt mir gerade so ein: du könntest einen OLE-Container nehmen und die MIDIs als OLE-Objekte da hinein packen. Ggf. kannst du sie von dort aus direkt abspielen (bin mir aber absolut nicht sicher ob das überhaupt geht).

3_of_8 8. Sep 2005 19:28

Re: MIDI-Dateien als Ressourcen einbinden & abspielen
 
Danke. Werde es so machen. Außer, jemand weiß was besseres?

3_of_8 8. Sep 2005 20:03

Re: MIDI-Dateien als Ressourcen einbinden & abspielen
 
Hab es probiert, aber ich höre nichts. :gruebel:

Flocke 8. Sep 2005 20:10

Re: MIDI-Dateien als Ressourcen einbinden & abspielen
 
Also, du
1. Speicherst die MIDI-Datei ab? Datei existiert?
2. Setzt in der MediaPlayer-Komponente den Dateinamen auf diesen Namen?
3. Startest im MediaPlayer die Wiedergabe?

Klappt die Wiedergabe mit einer vorhandenen Datei? Ggf. mit der Datei ausprobieren, die du benutzen willst.

Du kannst MIDIs aber hören, wenn du die Datei im Explorer doppelt klickst, oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:50 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz