Autor Beitrag
pichunter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40

Win XP prof.
Delphi 7, C/C++ (VS 2003 - kotz)
BeitragVerfasst: Mi 16.11.05 17:52 
Hi,

Zu meiner allergrößten Schande muss ich hiermit gestehen, dass ich keinen Plan habe, wie man es bewerkstelligt, Musikdateien (z.B. *.wav oder *.mp3) mit den von DelphiX bereitgestellten Komponenten abzuspielen.

Ich flehe auf Knien um jede erdenkliche Hilfe.
Ich danke schonmal vorab.

(Ich habe nicht mal den geringsten Plan... *snf*)
Da_Knuddelbaer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 485



BeitragVerfasst: So 20.11.05 11:16 
Hi!

An sich ist es ziemlich einfach. Du kannst mit den Komponenten von DelphiX jedoch nur WAV-Dateien abspielen. Du könntest dir mal ein Sound-Beispiel von DelphiX ansehen.

Du benötigst auf jeden Fall schonmal DXWaveList und DXSound. In die DXWaveList kannst du alle deine WAV-Dateien reinladen. Damit die Exe nicht unnötig groß wird und die Speicher- und Compilerzeiten schneller sind, solltest du sie später vielleicht exportieren und beim Starten des Programmes laden.

Mit
DXWaveList.Items.Find(Name).Play(Wait)
kannst du die Sounds dann abspielen, wobei "Name" für den Namen in deiner DXWaveList steht (also beispielsweise 'Explosion.wav'), und "Wait" ist die Zeit, die er die Datei verzögert abspielen soll. Meistens verwendet man hier 0, da er sie sofort abspielen soll. Aber wer weiß :wink:



Die DXSound-Komponente ist für den ganzen Kram zuständig. Sie muss, wenn du Sound hören willst, initialisiert werden. Hier ein Beispiel mit einem Menüpunkt zum Aktivieren und Deaktivieren von Sound:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.OptionSoundClick(Sender: TObject);
begin
  { Sound }
  OptionSound.Checked := not OptionSound.Checked;

  if OptionSound.Checked then
  begin
    if not DXSound.Initialized then
    try
      DXSound.Initialize;
    except
      OptionSound.Checked := False;
    end;
  end
  else DXSound.Finalize;
end;




Das war es dann auch schon, mehr muss nicht getan werden.

Ich hoffe, du bekommst das jetzt hin :)

Greetz,
Knuddelbaer
pichunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40

Win XP prof.
Delphi 7, C/C++ (VS 2003 - kotz)
BeitragVerfasst: So 20.11.05 20:12 
danke für die hilfe. Ich werde das mal probieren.
Aber das da nur wavs gehen... aber wenn du das mal herausbekommst wie das mit mp3s geht dann kannst du es mich ja mal wissen lassen.

Danke nachmal.
Da_Knuddelbaer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 485



BeitragVerfasst: Mo 21.11.05 12:29 
Mit den DelphiX-Komponenten kannst du auf keinen Fall MP3s abspielen, es sei denn, du passt den Quellcode der WaveList entsprechend an und kompilierst die Komponenten neu (ich habe für mich bereits schon einige Änderungen an den Komponenten gemacht). Dass man da keine MP3s oder OGGs abspielen kann, ist echt nervig, werde ich wohl mal mit Hilfe von Fmod o.ä. ändern.
pichunter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40

Win XP prof.
Delphi 7, C/C++ (VS 2003 - kotz)
BeitragVerfasst: Di 22.11.05 18:59 
so krass habe ich mich noch nicht mit der ganzen materie befasst. glaube aber das das wohl nicht verkehrt wäre sich mal die ganzen sachen (oder einige) mal anzusehen.