AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte MiniPlayer mit TMediaPlayer
Thema durchsuchen
Ansicht
Themen-Optionen

MiniPlayer mit TMediaPlayer

Ein Thema von TOC · begonnen am 25. Jan 2005 · letzter Beitrag vom 14. Jul 2005
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Benutzerbild von TOC
TOC
Registriert seit: 5. Jan 2005
Hi!

Ich lese hier immer wieder solche Fragen wie "Wie kann ich möglichst einfach eine MP3-Datei abspielen?" oder "Wie kann ich die Länge einer Medien-Datei ermitteln" usw. In diesem Zusammenhang lese ich auch immer wieder "Das geht mit der Bass.dll" etc.

Aber warum nicht die Möglichkeiten nutzen die in Delphi schon längst eingebaut sind? Auf der Seite "System" findet ihr, selbst schon bei Delphi 3.0, die Komponente "MediaPlayer". Mit diesem MediaPlayer kann man auf recht einfache Weise eine Reihe von Medien-Dateien abspielen.

Der MediaPlayer selbst verwendet die sogenannten MCI-Geräte von Windows. Leider sind auf verschiedenen Computern und verschiedenen Windows-Versionen unterschiedliche MCI-Devices installiert. Ich weiß auch noch nicht wie man vom Programm aus abfragen könnte welche Treiber den nun installiert sind. Da hilft nur ausprobieren!

Ich habe nun mit der Komponente "MediaPlayer" einen kleinen MiniPlayer geschrieben mit dem Du folgende Medien-Dateien abspielen kannst:

Ab Windows ´95:
Wave-Dateien im Format : *.wav;
Midi-Dateien im Format : *.mid; *.rmi; *.midi;
CD-Audio-Tracks im Format : *.cda
Animationen im Format : *.avi

Ab Windows ´98 Second Edition:
Mp3-Dateien im Format : *.mp3; *.mpa;
Video-Dateien im Format : *.mpg; *.mpeg;

Es ist möglich das auf Deinem Computer noch andere MCI-Geräte installiert sind und das Du noch weitere Medien-Dateien abspielen kannst.

Interessant ist das die meisten MCI-Geräte das ZeitFormat 'tfMilliseconds' nun doch unterstützen. Das ist in der Delphi-Hilfe leider nicht so ganz eindeutig dokumentiert. Nach dem 'Open'-Befehl setzte ich nun dieses Zeit-Format. Dadurch konnte ich all die komplizierten Funktionen zur Addition und Subtraktion von Zeiten im Format 'tfSMPTEDrop30' und 'tfMSF' aus dem Programm komplett rausschmeißen. Jetzt werden alle Zeiten einheitlich nur noch in Millisekunden berechnet, was alles wesentlich einfacher macht.

--------------------------------------------------------------------------------------------------

Version 1.6

Änderungen:

1.) BugFix: Wenn man auf einen leeren Bereich von Panel8 geklickt hat wurde das FreeWare-Formular versehentlich aufgerufen. Diesen dummen Fehler hab ich nun in allen 4 Versionen behoben.

2.) In den beiden Delphi 7.0 Versionen steht nun die Eigenschaft 'DoubleBuffered' von Panel1 und Panel6 auf true, damit der Scroller und die Zeitanzeige nicht mehr flimmern.

3.) BugFix: In den beiden Versionen mit Bass.dll wird nun die Wiedergabe gestopt und die Bass.dll freigegeben bevor der Computer in den Sleep-Modus übergeht, und nach dem Aufwachen wieder initialisiert.

--------------------------------------------------------------------------------------------------

Hi!

Hier kommen gleich 4 neue Versionen 1.7 von MiniPlayer!

Änderungen:

1.) MiniPlayer speichert seine Daten nun unter dem Schlüssel 'HKEY_CURRENT_USER\SoftWare\TocWare\MiniPlayer' in der System-Registrierung.

2.) Mit dem Menüpunkt "Optionen/Registrierung aufheben" kannst Du diese Daten aus Deiner System-Registrierung nun auch wieder löschen und auch die Registrierung der Datei-Typen aufheben.

Hinweis: Dieses Programm verwendet einige meiner selbst gebastelten Komponenten, die Du benötigst um das Projekt zu öffnen und neu zu kompilieren. Eine aktuelle Version meiner Komponenten im Packet findest Du hier : Tocs Komponenten als Paket).

Derzeit kann ich Euch nur bitten den fehlerhafeten Schlüssel 'HKEY_CURRENT_USER\MiniPlayer' von Hand zu löschen (mit RegEdit.exe), Sorry!
--------------------------------------------------------------------------------------------------

Wenn Du herausfinden willst wie man mit TMediaPlayer bzw. MCI MP3´s und andere Formate ausgibt, oder Mod´s mit MiniMod.pas, dann ist 'Version MCI D3/D7' die richtige Version für Dich!

Wenn Du herausfinden möchtest wie dies mit der Bass.dll geht, dann lade Dir 'Version Bass D3/D7' herunter. Verschiedene Formate (*.avi, *.mpg, *.mpeg, *.mid, *.rmi, *.cda) werden allerdings immer noch mit MCI ausgegeben, da die Bass.dll diese Formate nicht unterstützt.

Grüße von TOC!
Angehängte Dateien
Dateityp: zip miniplayer_fuer_delphi_7_bass_769.zip (1,35 MB, 134x aufgerufen)
Dateityp: zip miniplayer_fuer_delphi_3_bass_186.zip (1,27 MB, 46x aufgerufen)
Dateityp: zip miniplayer_fuer_delphi_7_mci_221.zip (968,6 KB, 107x aufgerufen)
Dateityp: zip miniplayer_fuer_delphi_3_mci_163.zip (892,8 KB, 48x aufgerufen)
"Wäre die Erde eine Bank, ihr hättet sie längst gerettet!"
(Zitat GreenPeace)
 
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#31
  Alt 2. Mär 2005, 13:57
Hi 4Toms!

Hab mir mal Zeit genommen und Deine Delphi 0.5-Version von MiniPlayer gründlich getestet. Sorry, im Internet-Cafe hab ich es kurz getestet und es gab zahlreiche Adress-Verletzungen. Mein Fehler! Aber hier zuhause auf meinem Rechner läuft Deine 0.5-Version scheinbar fast fehlerfrei.

Zumindest einen Fehler habe ich in Deiner Version allerdings entdeckt.
In folgender Prozedur:

Delphi-Quellcode:
procedure TForm1.DropFiles(var Msg: TMessage);
  ..
  ..
  FileCount := DragQueryFile(Msg.WParam, 0, nil, 0);
  for I := 0 to FileCount - 1 do begin
  ..
  ..
end;
An dieser Stelle MUSS der zweite Parameter 'FileIndex' entweder -1 oder $FFFFFFFF sein. Bei Delphi 3.0 ist der Parameter 'FileIndex' als Integer definiert, deshalb muß hier -1 stehen. Bei Delphi 7.0 ist der selbe Parameter aber als Cardinal definiert, und dann muß da $FFFFFFFF stehen! Durch diesen Wert sagt man der Funktion 'DropFiles' das man die Anzahl der gedropten Dateien ermitteln möchte. Wenn Du für FileIndex den Wert 0 nimmst bekommst Du Informationen über die ERSTE Datei die gedropt wurde, und nicht die ANZAHL der Dateien! Du mußt bei Delphi 5.0 also darauf achten welchen Typ 'FileIndex' hat, und dann entweder -1 oder $FFFFFFFF verwenden.

Noch was: Du hast einige Zeichenketten von 'Du' auf 'Sie' geändert. Nimm da bitte wieder ein 'Du', denn ich schreibe grundsätzlich keine Programme für Erwachsene, nur für Kinder und Jugendliche. Deshalb verwende ich in meinen Programmen auch nur 'Du' als Anrede. Wenn sich ein verklemmter Erwachsener am 'Du' stört kann er das Programm ja löschen und sich eins kaufen was ihn mit 'Sie' anredet, Kicher! Und achte bitte darauf das die Texte in den Labeln nicht zu lang sind, sondern vollständig sichtbar.

Noch was: Du hast die Beschriftung 'Wave-Vol' in 'Wave-Pegel' geändert.
Kein Problem, wenn Dir das besser gefällt, warum nit? Aber schau dir folgendes mal an:

Delphi-Quellcode:
procedure TForm1.OpenFileAndDevice(Obj: TSoundObject);
var
  T: Integer;
  S, Ext: string;
begin
  SoundObject := Obj;
  Ext := Obj.Ext;

  T := GetSoundChannel;
  case T of
    1: S := 'Midi-Vol :';
    2: S := 'CD-Vol :';
    3: S := 'Mod-Vol :';
    4: S := 'Video-Vol :';
    5: S := 'MP3-Vol :'
  else
    S := 'Wave-Vol :'
  end;
  VolumeLabel1.Caption := S;
  ..
  ..
end;
An dieser Stelle im Programm wird die Beschriftung des Labels in Abhängigkeit vom aktuellen Kanal und Datei-Typ geändert. Es reicht nicht aus im Objektinspektor den Label zu verändern. Du mußt dann schon im Programm selbst an dieser Stelle alles in 'Pegel' ändern.

Also, ändere diese kleinen Fehler bitte in Deiner 05-Version und schick sie mir noch mal als E-Mail. Dann werd ich sie nochmal gründlich testen und dann kriegst Du auch mein 'OK' und kannst Deine eigene Version weitergeben.

Ansonsten: Kompliment ! Sauber umgesetzt für Delphi 5.0!

Grüße von TOC!
Lars Uwe Hohmann
  Mit Zitat antworten Zitat
4toms
 
#32
  Alt 3. Mär 2005, 00:50
Hi TOC,

danke für die Hinweise. Ich will das Programm garnicht weitergeben, sondern wollte es hier nur mit D5 kompilieren können, um aus blau gelb zu machen und vom Programm nicht mehr geduzt zu werden

Den geänderten source schicke ich Dir demnächst wieder zu, da ich noch ein paar Sachen übersehen habe.

mfg
  Mit Zitat antworten Zitat
4toms
 
#33
  Alt 3. Mär 2005, 07:51
Hallo TOC,

das inzwischen von mir etwas umgeschiebene MiniPlayer (für D5) sollte etwas besser laufen (hast Du per E-Mail von mir bekommen).

Dein Programm ist Freeware+OpenSource.

Was meinst Du eigentlich mit "Freeware+OpenSource"?

Daß ich mir den Sourcecode herunterladen kann?

Deinen D3/D7-Sourcecode habe ich hier inzwischen besser an D5 ngepasst, auch noch etwas verbessert, und Dir den modifizierten Sourcecode vor ein paar Stunden (heute) zugeschickt.

Mir ist nicht so ganz klar, was Du mit "Open Source" meinst

Sofern keine anderen Lizenzbestimmungen in den Dateien Deines Programms vorliegen, halte ich "Open Source"-Programme stets für GNU-GPL-Programme!

Bitte um Aufklärung, was in der DP als "Open Source" verstanden wird"!!!

mfg
4toms
  Mit Zitat antworten Zitat
Benutzerbild von TOC
TOC

 
Delphi 7 Personal
 
#34
  Alt 7. Mär 2005, 10:56
Hi!

Zitat von 4toms:
Hallo TOC,

das inzwischen von mir etwas umgeschiebene MiniPlayer (für D5) sollte etwas besser laufen (hast Du per E-Mail von mir bekommen).

Dein Programm ist Freeware+OpenSource.

Was meinst Du eigentlich mit "Freeware+OpenSource"?

Daß ich mir den Sourcecode herunterladen kann?

Deinen D3/D7-Sourcecode habe ich hier inzwischen besser an D5 ngepasst, auch noch etwas verbessert, und Dir den modifizierten Sourcecode vor ein paar Stunden (heute) zugeschickt.

Mir ist nicht so ganz klar, was Du mit "Open Source" meinst

Sofern keine anderen Lizenzbestimmungen in den Dateien Deines Programms vorliegen, halte ich "Open Source"-Programme stets für GNU-GPL-Programme!

Bitte um Aufklärung, was in der DP als "Open Source" verstanden wird"!!!

mfg
4toms
Also, nach meiner Interpretation heißt 'OpenSource' sinngemäß soviel das die Quell-Dateien des Programmes öffentlich sind. Jeder kann sich die Quell-Dateien herunterladen, darin herumschnuppern und sich den ein oder anderen Trick abschauen. Natürlich kann man sich dann auch Prozeduren bzw. Funktionen aus dem Programm rausziehn, oder verändern etc..

Ich verfüge über keine Technologie oder Programmier-Tricks die ich geheimhalten möchte, warum auch? Deshalb sind ALLE meine Programme OpenSource, die Quell-Dateien sind für Euch also verfügbar.

FreeWare bedeutet singemäß das das Programm komplet kostenlos ist, und das man das Programm auch weitergeben kann. Ist zumindest meine Interpretation. Die neue Version 1.2 von MiniPlayer hat nun ein FreeWare-Formular in denen das mit den Kopierrechten erklärt wir.

Was sind den GNU-GPL-Programme? Den Begriff hab ich noch nie gehört!

Hab mir deine neune Delphi 5.0-Version von MiniPlayer runtergeladen und seh sie mir zuhause mal in Ruhe an...

Grüße von TOC!
Lars Uwe Hohmann
  Mit Zitat antworten Zitat
4toms
 
#35
  Alt 9. Mär 2005, 08:02
Dein neuer MiniPlayer Version 1.2 Beta:

Daß, was da neuerdings unter "Hilfe" anklickbar ist, meinst Du doch wohl nicht ernst, oder?

Müll

Hab Dir dazu auch was GMXt

mfg
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

 
Delphi 2006 Professional
 
#36
  Alt 9. Mär 2005, 09:30
Hai 4toms,

was hat denn der Link in deinem letzten Posting mit dem Programm zu tun?
Würdest Du ihn bitte wieder rausnehmen. Immerhin hat Chäffe ja schon zu deinem Postin in K&T etwas geschrieben.

Danke
Stephan B.
  Mit Zitat antworten Zitat
4toms
 
#37
  Alt 9. Mär 2005, 17:13
Zitat von Sharky:
Hai 4toms,

was hat denn der Link in deinem letzten Posting mit dem Programm zu tun?
Würdest Du ihn bitte wieder rausnehmen. Immerhin hat Chäffe ja schon zu deinem Postin in K&T etwas geschrieben.

Danke
TOC antwortet auf meine GMXMehls wohl noch in der DP.

mfg
  Mit Zitat antworten Zitat
PierreB
 
#38
  Alt 9. Mär 2005, 17:18
Zitat von 4toms:
Zitat von Sharky:
Hai 4toms,

was hat denn der Link in deinem letzten Posting mit dem Programm zu tun?
Würdest Du ihn bitte wieder rausnehmen. Immerhin hat Chäffe ja schon zu deinem Postin in K&T etwas geschrieben.

Danke
TOC antwortet auf meine GMXMehls wohl noch in der DP.

mfg
Hä ? Was hat das denn jetzt mit Sharkys Beitrag zu tun ??
  Mit Zitat antworten Zitat
4toms
 
#39
  Alt 9. Mär 2005, 17:23
Absolut nichts, PierreB.

Lesen hilft!

mfg
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

 
Delphi 7 Enterprise
 
#40
  Alt 9. Mär 2005, 17:25
Zitat von 4toms:
Absolut nichts, PierreB.

Lesen hilft!

mfg
du solltest dich wohl erstmal informieren, wozu man zitieren kann.... nicht, um dann einen kommentar zu etwas gänzlich anderem abzugeben.

Aenogym
Steffen Rieke
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 19:38 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