AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Syntax SendMCICommand

Ein Thema von Dunkelbunt27 · begonnen am 22. Jul 2012 · letzter Beitrag vom 18. Aug 2014
Antwort Antwort
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#1

Syntax SendMCICommand

  Alt 22. Jul 2012, 21:12
Hallo Delphi-PRAXIS,

Ich möchte einen variablen Pfad in folgender Prozedur einsetzen?

Normalerweise würde der Aufruf ja wie folgt aussehen:
Zitat:
Delphi-Quellcode:
SendMCICommand('open waveaudio shareable');
SendMCICommand('play "C:\xyz\BackgroundMusic.wav"');
SendMCICommand('play "C:\xyz\AnotherMusic.wav"');
SendMCICommand('close waveaudio');
Wenn man aber keinen festen Pfad angeben möchte, sondern den Pfad der in dem String "Pfad" gespeichert ist nutzen will, wie schreibt man das syntaktisch?

Delphi-Quellcode:
//Beispielsweise:
Pfad := ExtractFilePath(Application.ExeName) + '/Sounds/Sound1.wav';
Folgender Code ist falsch:
SendMCICommand('play Pfad'); Ich hoffe jemand versteht mein Problem, ist sicherlich wirklich nichts besonderes, ich weiß nur einfach nicht wie man das richtig schreibt...

Danke für eure (hoffentliche) Hilfe
FG Dunkelbunt
"Wer zuletzt lacht hat den höchsten Ping"
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Syntax SendMCICommand

  Alt 22. Jul 2012, 22:17
Delphi-Quellcode:
Pfad := '"'+ExtractFilePath(Application.ExeName) + '\Sounds\Sound1.wav"'
SendMCICommand('play ' + Pfad);
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.342 Beiträge
 
Delphi 12 Athens
 
#3

AW: Syntax SendMCICommand

  Alt 22. Jul 2012, 23:02
Delphi-Quellcode:
Pfad := '"'+ExtractFilePath(Application.ExeName) + '\Sounds\Sound1.wav"'
SendMCICommand('play ' + Pfad);
\\ ?

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 + '"');
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Syntax SendMCICommand

  Alt 23. Jul 2012, 06:24
@himitsu

sorry und danke ... ich war müde...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#5

AW: Syntax SendMCICommand

  Alt 23. Jul 2012, 09:59
Super, danke für eure Hilfe!
Der Code sieht jetzt so aus:
Delphi-Quellcode:
//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;
Beim Debugging steht da, dass folgender Pfad raus kommt:
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?
Angehängte Grafiken
Dateityp: png error.png (17,6 KB, 18x aufgerufen)
FG Dunkelbunt
"Wer zuletzt lacht hat den höchsten Ping"

Geändert von Dunkelbunt27 (23. Jul 2012 um 11:44 Uhr) Grund: Bessere Übersichtlichkeit
  Mit Zitat antworten Zitat
Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#6

AW: Syntax SendMCICommand

  Alt 24. Jul 2012, 16:21
(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 ExtractFilePath(Application.ExeName) nicht verwenden, deshalb habe ich ja ExePfad als globale Variable, was ziemlich unschön ist... Könnte darin irgendwie der Fehler liegen?

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...
Angehängte Dateien
Dateityp: zip Test Sounds.zip (637,6 KB, 16x aufgerufen)
FG Dunkelbunt
"Wer zuletzt lacht hat den höchsten Ping"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 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