AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Midi-Sequenz mmit Delphi-Mediaplayer abspielen
Thema durchsuchen
Ansicht
Themen-Optionen

Midi-Sequenz mmit Delphi-Mediaplayer abspielen

Ein Thema von Elko · begonnen am 4. Feb 2008 · letzter Beitrag vom 4. Feb 2008
Antwort Antwort
Elko

Registriert seit: 2. Feb 2008
52 Beiträge
 
Delphi 7 Personal
 
#1

Midi-Sequenz mmit Delphi-Mediaplayer abspielen

  Alt 4. Feb 2008, 14:44
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:
procedure TForm1.FormCreate(Sender: TObject);
begin
 Mediaplayer1.FileName := 'C:\WINDOWS\Media\town.mid';
 Mediaplayer1.Open;
 Mediaplayer1.Play;
end;
Viele Grüße, Elko
Keyboard not found. Press any key to continue.
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#2

Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen

  Alt 4. Feb 2008, 15:16
soweit ich weis sind mididateien nur Klangdateien. Es wird also nur angegeben

Zitat:
C-D-E-F-G-A-H-c
du benötigst also noch einen klangerzeuger. Deine Soundkarte hat einen Hardware-Synthesizer. Den kannste nutzen. (nachteil : Du kannst nur E-Piano-töne erzeugen).

so gehts:

Delphi-Quellcode:
uses MMSystem;

MCISendString(PChar('play ' + filepath), nil, 0, 0);
PS: ich weis nicht ob MCISendString noch aktuell ist. Vllt gehts auch mit shellexecute.

gruß snow
  Mit Zitat antworten Zitat
Elko

Registriert seit: 2. Feb 2008
52 Beiträge
 
Delphi 7 Personal
 
#3

Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen

  Alt 4. Feb 2008, 16:55
Also bei mir tut sich gar nix, wenn ich das so probiere
Gruß, Elko
Keyboard not found. Press any key to continue.
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#4

Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen

  Alt 4. Feb 2008, 17:04
komisch ich höre was.

schau mal was unter systemsteuerung-->Sounds-und-Audiogeräte--->Audio--->MIDI-Musikwiedergabe steht. Bei mir iss es

Microsoft GS Wavetable SW Synth kannst auch mal bei

systemsteuerung-->Sounds-und-Audiogeräte--->Audio--->MIDI-Musikwiedergabe--->Lautstärke schaun, ob der SW-Synthesizer auf stumm steht.

gruß snow
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen

  Alt 4. Feb 2008, 17:06
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.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Elko

Registriert seit: 2. Feb 2008
52 Beiträge
 
Delphi 7 Personal
 
#6

Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen

  Alt 4. Feb 2008, 18:55
Oh mann, da war doch echt der SW-Synthesizer auf stumm geschaltet... ich frag mich nur wieso...
Dann geht es jetzt auch über den Mediaplayer abzuspielen!
Wenn man doch den Mediaplayer hat, für was macht man sowas dann mit MCISendString(PChar('play ' + filepath), nil, 0, 0); ? Weil man die "Features" des Mediaplayers nicht braucht, oder wieso?
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
Keyboard not found. Press any key to continue.
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#7

Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen

  Alt 4. Feb 2008, 20:47
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.

MCISendString(PChar('play ' + filepath), nil, 0, 0); ist sinnvoll, wenn man z.B nur mal eine Titelmusik oder mal eine Errormeldung mit ein paar Klängen aus dem Lautsprecher begleiten will.

gruß snow
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Midi-Sequenz mmit Delphi-Mediaplayer abspielen

  Alt 4. Feb 2008, 21:05
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).
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  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 06:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz