![]() |
Sounds
Hy
Ich müsste für das Jump'n'Run game noch wissen, wie ich sounds (welches format ist erst mal egal) in delphi einbauen kann... Ich würde mich sehr über eure hilfe freuen. :wiejetzt: |
Re: Sounds
Such doch mal hier im Forum nach "sndPlaysound" bzw. "Playsound".
Delphi-Quellcode:
uses
MMSystem; ... sndPlaySound(@fSoundFilename[1], SND_ASYNC); //asynchron abspielen ... |
Re: Sounds
:wiejetzt: , brauch man da ne Procedur, oder wie muss ich den Pfad des Sounds angeben???????????? :wiejetzt:
|
Re: Sounds
Delphi-Quellcode:
sndPlaySound(PChar, Flags)
Delphi-Quellcode:
uses mmsystem; procedure Play(fSoundFilename: String); begin sndPlaySound(PChar(fSoundFilename), SND_ASYNC); end; ![]() |
Re: Sounds
ich glaube er wollte wissen, ob man den Pfad noch angeben muss, ich kenne mich aber damit auch nicht aus :roll:
|
Re: Sounds
Ja einfach Pfad zur WAV angeben:
Delphi-Quellcode:
Problem ist nur das der Pfad vom Typ PChar und nicht vom Typ String ist.
sndPlaySound('C:\Windows\Media\Ding.wav', SND_ASYNC); //asynchron abspielen
Deshalb zum Beispiel:
Delphi-Quellcode:
Hoffe geholfen zu haben
var
s:string; begin s := 'C:\blabla.wav'; sndPlaySound(PChar(s), SND_ASYNC); //asynchron abspielen end; |
Re: Sounds
Kann man den Pfad auch so angeben, dass er die Datei nimmt, die im Ordner der .exe ist???,also nicht C:..... :gruebel:
|
Re: Sounds
IncludeTrailingPathDelimiter(ExtractFileDir(ParamS tr(0))) liefert dir den Pfad der Exe mit abschließendem Backslash.
Du kannst auch Application.Exename gepaart mit ExtractFileDir verwenden. Es ist meist sinnvoll sich gleich beim Programmstart dieses Verzeichnis für die ein oder andere Operation zu merken. |
Re: Sounds
so dann ungefähr (s wird später als sound verwendet) :
s := 'IncludeTrailingPathDelimiter(ExtractFileDir(Param Str(0)))\m2.wav'; ??? |
Re: Sounds
nein, eher so:
Delphi-Quellcode:
also auf jeden Fall ohne die umschließenden '-Zeichen. Die brauchst du nur, wenn du der String-Variable einen bestimmten String zuweisen willst. Bsp.:
type
TForm1 = class(TForm) ... private ... fAppDir: String; ... public ... end; ... procedure TForm1.FormCreate(Sender: TObject); begin fAppDir := IncludeTrailingPathDelimiter(ExtractFileDir(ParamStr(0))); ... end;
Delphi-Quellcode:
Weist du der String-Variablen (also fAppDir oder fString) einen String zu, dann kannst du die logischerweise weglassen.
var
fString: String; begin fString := 'Dies ist ein Test'; end; Außerdem ist durch den Befehl IncludeTrailingPathDelimiter beim String fAppDir bereits ein Backslash dran. Du fügst ihn unten aber doppelt hinzu. edit: bisschen ausführlicher. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 Uhr. |
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 by Thomas Breitkreuz