Entwickler-Ecke

Multimedia / Grafik - Musik mit uFMOD


Gravita - Mo 18.05.09 19:07
Titel: Musik mit uFMOD
Hallo,

ich suche eine simple Möglichkeit .xm oder .mod Dateien in meinem Delphiprogramm abzuspielen.
Durch diverse Threads bin ich über uFMOD gestolpert.
Nur irgendwie weiß ich nicht so Recht wie ich es benutzen soll.

1.
Ich benötige die Musikdatei in diesem Format:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
const
xm : array[1..16839] of Byte = (
$45,$78,$74,$65,$6E,$64,$65,$64,$20,$4D,$6F,$64,$75,$6C,$65,$3A,
$20,$41,$20,$70,$69,$65,$63,$65,$20,$66,$6F,$72,$20,$66,$72,$65,
$65,$64,$6F,$6D,$20,$1A,$46,$61,$73,$74,$54,$72,$61,$63,$6B,$65,
$72,$20,$76,$32,$2E,$30,$30,$20,$20,$20,$04,$01,$14,$01,$00,$00,
$09,$00,$01,$00,$08,$00,$09,$00,$28,$00,$01,$00,$06,$00,$7D,$00,
$00,$01,$02,$03,$04,$05,$06,$07,$08,$00,$00,$00,$00,$00,$00,$00


Es wurde des öftern ein Tool namens EFF erwähnt. Wo bekomme ich das her?

2.

Wie binde ich diese Datei dann ein?
Ein Beispielcode wäre super =)
Leider sind alle Tutorials die ich dazu finde down.


Grüße


ffgorcky - Mo 25.05.09 08:02

Meinst Du zum Beispiel diese [http://www.softimage.com/products/modtool/getmod.aspx] Seite?
Oder habe ich da jetzt falsch nach gegoogelt [http://www.google.de/search?hl=de&q=*.xm+*.mod+eff-tool+download]?


SvenAbeln - Mo 25.05.09 10:38

Ich kenne uFMod zwar nicht, hab mir aber mal die Homepage und die Bibliothek kurz angesehen.

user profile iconGravita hat folgendes geschrieben Zum zitierten Posting springen:

Durch diverse Threads bin ich über uFMOD gestolpert.
Nur irgendwie weiß ich nicht so Recht wie ich es benutzen soll.

uFMod hat doch direkt Beispiele für Delphi dabei.

user profile iconGravita hat folgendes geschrieben Zum zitierten Posting springen:
1.
Ich benötige die Musikdatei in diesem Format:

So einen hex dump kann EFF erzeugen.

user profile iconGravita hat folgendes geschrieben Zum zitierten Posting springen:
Es wurde des öftern ein Tool namens EFF erwähnt. Wo bekomme ich das her?

EFF gibt es auf der uFMod Homepage unter Tools.

user profile iconGravita hat folgendes geschrieben Zum zitierten Posting springen:
2.
Wie binde ich diese Datei dann ein?
Ein Beispielcode wäre super =)
Leider sind alle Tutorials die ich dazu finde down.

Hab ich schon die Delphi Beispiele von uFMod erwähnt? :lol:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
const
xm : array[1..905of Byte = ($45,$78,$74,$65,$6E,$64,$65,$64,$20,$4D,$6F,$64,$75,$6C,$65,$3A,...

[...]

  if uFMOD_PlaySong(@xm,Length(xm),XM_MEMORY) <> nil then
  begin
    { Wait for user input. }
    MessageBox(0,'uFMOD ruleZ!','Delphi',0);
    { Stop playback. }
    uFMOD_StopSong
  end;


Sinspin - Mo 25.05.09 10:45

Also erstmal klinkt mir das nach dem FMOD Player. Bzw. eine Schnittstelle zu ihm.
Ich finde den aber von der Wiedergabequalität nicht so gut wie MPP. Bei dem hat man zwar leider keine Möglichkeit Streams zu übergeben aber das habe ich auch noch nicht gebraucht.

Zu deinem Problem, wenn ich das richtig verstehe willst du die Datei als Delphi Quelltext. Ich finde dass das, das einfachste vom ganzen abspielen ist.
Du öffnest die Datei einfach als Stream und ließt Byte für Byte aus und speicherst es einfach als Hexa-Zahl zusammen mit dem ganzen zeugs das es Delphi Quelltext wird in einer anderen Datei ab.
So mache ich das mit allen Ressourcen die man nicht einfach also solche aus den Exen lesen können soll.


€: da war jemand schneller ;-)