![]() |
Syntax SendMCICommand
Hallo Delphi-PRAXIS,
Ich möchte einen variablen Pfad in folgender ![]() Normalerweise würde der Aufruf ja wie folgt aussehen: Zitat:
Delphi-Quellcode:
Folgender Code ist falsch:
//Beispielsweise:
Pfad := ExtractFilePath(Application.ExeName) + '/Sounds/Sound1.wav';
Delphi-Quellcode:
Ich hoffe jemand versteht mein Problem, ist sicherlich wirklich nichts besonderes, ich weiß nur einfach nicht wie man das richtig schreibt...
SendMCICommand('play Pfad');
Danke für eure (hoffentliche) Hilfe |
AW: Syntax SendMCICommand
Delphi-Quellcode:
Pfad := '"'+ExtractFilePath(Application.ExeName) + '\Sounds\Sound1.wav"'
SendMCICommand('play ' + Pfad); |
AW: Syntax SendMCICommand
Zitat:
Delphi-Quellcode:
// Path = mit \ am Ende
Pfad := '"' + ExtractFilePath(Application.ExeName) + 'Sounds\Sound1.wav"'; SendMCICommand('play ' + Pfad); // Dir = ohne \ am Ende (gut, mit einer kleinen Ausnahme) Pfad := '"' + ExtractFileDir(Application.ExeName) + '\Sounds\Sound1.wav"'; SendMCICommand('play ' + Pfad); // aber da die " eigentlich nicht zum "Pfad" gehören Pfad := ExtractFilePath(Application.ExeName) + 'Sounds\Sound1.wav'; SendMCICommand('play "' + Pfad + '"'); |
AW: Syntax SendMCICommand
@himitsu
sorry und danke ... ich war müde... |
AW: Syntax SendMCICommand
Liste der Anhänge anzeigen (Anzahl: 1)
Super, danke für eure Hilfe!
Der Code sieht jetzt so aus:
Delphi-Quellcode:
Beim Debugging steht da, dass folgender Pfad raus kommt:
//globale Variable in Hauptform, weil ich nicht wusste wie ich das anders lösen sollte
ExePfad := ExtractFilePath(Application.ExeName); //in Extra Unit procedure SoundAbspielen(sound: byte); begin SendMCICommand('open waveaudio shareable'); case Sound of // 1: SendMCICommand('play "Sounds\Sound1.wav"'); //Funktioniert, ist aber nicht optimal 1: SendMCICommand('play "'+ExePfad+ 'Sounds\Sound1.wav"'); //Wirft einen Fehler auf end; SendMCICommand('close waveaudio'); end; SendMCICommand('play "C:\Users\...\Sounds\Sound1.wav"'); SendMCICommand gibt den Error aus dem Anhang aus. ("Gerät ist nicht geöffnet oder wird vom MCI nicht erkannt.") :?: Weiß jemand Rat? :?: |
AW: Syntax SendMCICommand
Liste der Anhänge anzeigen (Anzahl: 1)
(Ich kann den letzten Post jetzt leider nicht mehr editieren und im Nachhinein ist der Thread-Name ungünstig gewählt...)
Ich bin leider immer noch ratlos... In der Unit kann man ja
Delphi-Quellcode:
nicht verwenden, deshalb habe ich ja ExePfad als globale Variable, was ziemlich unschön ist... Könnte darin irgendwie der Fehler liegen?
ExtractFilePath(Application.ExeName)
Ich habe mal die relevanten Code-Teile in ein Delphi Projekt gesteckt... die Exe zum Testen ist im Debug Ordner. Ich hoffe damit kann mir jemand helfen... |
AW: Syntax SendMCICommand
Zitat:
PS: Application.ExeName = ParamStr(0) |
AW: Syntax SendMCICommand
Zitat:
Auf jeden Fall ist das schon mal optimaler, aber der blöde Fehler kommt trotzdem... |
AW: Syntax SendMCICommand
Warum nicht einfach playsound anstelle von SendMCICommand? wenn du damit nicht klar kommst.
Deklariert in winmm.dll
Delphi-Quellcode:
PlaySound('Pfad zur Wav Datei', 0, SND_FILENAME Or SND_ASYNC);
Andererseits kannst ja mal ![]() Einfach die Classe deinen bedürfnissen anpassen. Ist zwar für Midi gemacht geht aber auch mit Wave. gruss |
AW: Syntax SendMCICommand
Hallo EWeiss,
das Ding ist, ich brauche beides PlaySound und SendMCICommand. Der Sound wird häufig schnell hintereinander wiedergegeben und soll sich dabei überlagern, so wie sich das Geräusch von den Tasten die du drückst überlagert (wenn du das schnell hintereinander machst). Dazu habe ich nicht viel gefunden und habe es so gelöst, dass immer abwechselnd der Sound mit PlaySound oder mit SendMCICommand wiedergegeben wird. Das erreicht zufriedenstellend dieses Ziel. Darum muss SendMCICommand laufen... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:45 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