![]() |
Midi-Sequenz mmit Delphi-Mediaplayer abspielen
Hallo an alle,
ich habe folgendes Problem: Der MediaPlayer ihn meinem Projekt soll eine Midi-Datei abspielen. Mit anderen Dateien (zB. *.wav) funktioniert es prima, aber bei einer *.mid Datei klappt bei mir gar nix :? Hier einfach mal der Code, welche Datei er abspielen soll:
Delphi-Quellcode:
Viele Grüße, Elko :thumb:
procedure TForm1.FormCreate(Sender: TObject);
begin Mediaplayer1.FileName := 'C:\WINDOWS\Media\town.mid'; Mediaplayer1.Open; Mediaplayer1.Play; end; |
Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen
soweit ich weis sind mididateien nur Klangdateien. Es wird also nur angegeben
Zitat:
so gehts:
Delphi-Quellcode:
PS: ich weis nicht ob MCISendString noch aktuell ist. Vllt gehts auch mit shellexecute.
uses MMSystem;
MCISendString(PChar('play ' + filepath), nil, 0, 0); gruß snow |
Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen
Also bei mir tut sich gar nix, wenn ich das so probiere :(
Gruß, Elko |
Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen
komisch ich höre was.
schau mal was unter systemsteuerung-->Sounds-und-Audiogeräte--->Audio--->MIDI-Musikwiedergabe steht. Bei mir iss es
Delphi-Quellcode:
kannst auch mal bei
Microsoft GS Wavetable SW Synth
systemsteuerung-->Sounds-und-Audiogeräte--->Audio--->MIDI-Musikwiedergabe--->Lautstärke schaun, ob der SW-Synthesizer auf stumm steht. gruß snow |
Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen
Windows XP hat schon einen integrierten Synthesizer. Eventuell hast du einfach die Lautstärke von "SW-Synthesizer" auf ganz niedrig stehen, oder diesen auf Stumm geschaltet. Das kannst du über Start->Ausführen->sndvol32 überprüfen.
|
Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen
Oh mann, da war doch echt der SW-Synthesizer auf stumm geschaltet... ich frag mich nur wieso... :wall:
Dann geht es jetzt auch über den Mediaplayer abzuspielen! :thumb: Wenn man doch den Mediaplayer hat, für was macht man sowas dann mit
Delphi-Quellcode:
? Weil man die "Features" des Mediaplayers nicht braucht, oder wieso?
MCISendString(PChar('play ' + filepath), nil, 0, 0);
Was ich ganz seltsam finde: Mit dem Windows Media-Player ging es davor auch abzuspielen (also so, dass man was gehört hat, das ist doch dann eigentlich seltsam, oder?). Übrigens: Ja, ich habe auch Microsoft GS Wavetable SW Synth da stehen. Viele Grüße, Elko :cheers: |
Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen
Nein ist es nicht. Der WMP(Windows Media Player) besitz anscheinend eigene SoundFonts. Der spielt die instrumente also selber über den Wave-kanal ab, und beauftragt nicht die Soundkarte damit.
Delphi-Quellcode:
ist sinnvoll, wenn man z.B nur mal eine Titelmusik oder mal eine Errormeldung mit ein paar Klängen aus dem Lautsprecher begleiten will.
MCISendString(PChar('play ' + filepath), nil, 0, 0);
gruß snow |
Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen
Der Windows Media Player verwendet DirectShow, welches vermutlich einen DirectMusic MIDI Output Filter besitzt. WindowsXP beauftragt übrigens auch nicht die Soundkarte, sondern besitzt (wie oben geschreiben) einen eigenen Software-Synthesizer (auf jeden Fall unter Verwendung der Standardeinstellungen).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 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