![]() |
Mehrere Sounds gleichzeitig (Verbesserungen gefragt)
Hallo Leute,
vorweg möchte ich sagen, dass ich für dieses Problem nicht die Bass.dll verwenden möchte. :?:Was soll das Programm tun? Es soll möglich sein auf bestimmte Ereignisse mit einem kurzen Sound (Dauer ca. 1s) zu reagieren. Das soll auch geschehen, wenn diese "Ereignisse" schnell hintereinander (vom User) ausgelöst werden. :arrow:Beispiel: Stellt euch das in dem Beispiel einfach wie einen Glockenklang vor. Jedesmal, wenn man in das Edit-Feld des Programms ein Zeichen tippt macht es [KLING]. Also "H" [KLING] "a" [Kling] usw. :idea:So hab ich das Problem gelöst:
Delphi-Quellcode:
Ich weiß nicht genau aus welchen Gründen es funktioniert, wenn man zwei verschiedene "Sound-Abspiel-Möglichkeiten" verwendet, ich weiß nur, dass es ganz gut klappt.
uses
[...] mmsystem; [...] var Form1 : TForm1; Wechsel : boolean = false; [...] //Bei Swiss-Delphi zu finden procedure SendMCICommand(Cmd: string); //Erste Möglichkeit einen Sound abzuspielen var RetVal: Integer; ErrMsg: array[0..254] of char; begin RetVal := mciSendString(PChar(Cmd), nil, 0, 0); if RetVal <> 0 then begin mciGetErrorString(RetVal, ErrMsg, 255); MessageDlg(StrPas(ErrMsg), mtError, [mbOK], 0); end; end; procedure SoundAbspielen1; begin SendMCICommand('open waveaudio shareable'); SendMCICommand('play "Sound1.wav"'); SendMCICommand('close waveaudio'); end; procedure SoundAbspielen2; begin PlaySound('Sound1.wav', 0, snd_ASync); //Zweite Möglichkeit einen Sound abzuspielen end; //Ereignis, dass den Sound auslöst: procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin //Jedesmal wird gewechselt, mit welcher Variante der Sound abgespielt wird if Wechsel = True then begin SoundAbspielen1; Wechsel := False; end else begin SoundAbspielen2; Wechsel := True; end; end; (Vielleicht hat ja jemand eine nette Erklärung für mich :wink:) Vielleicht hilft das ja auch Leuten mit dem gleichen Problem :) Hat jemand Vorschläge wie man das besser lösen kann und/oder noch weitere Möglichkeiten Sounds abzuspielen, die ich in das Schema integrieren kann um noch häufigere Wechsel im verschiedenen Sound-Abspielen zu ermöglichen!? Danke für eure Antworten :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 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-2025 by Thomas Breitkreuz