Entwickler-Ecke

Freeware Projekte - Phoenix Player 2.1.3.45


K.S.M. - So 11.05.08 10:55
Titel: Phoenix Player 2.1.3.45
Hallo!

Hier kommt ein Freeware-Projekt von mir: Der Phoenix Player 2. Er spielt sämtliche Audiodateien. Probiert ihn einmal aus!

Funktionen:


Aktuelle Update-Version: 2.1.3.45

Ihr könnt ihn unter http://www.phoenixsystems.de/de/downloads/view.php?id=6 downloaden oder hier:


huuuuuh - So 11.05.08 11:33

schrift nen bissl kleiner und die punkte etwas größer - ansonsten ganz gut...
und nen screenshot im ersten post is vielleicht auch ganz angebracht ;)


K.S.M. - So 11.05.08 11:48

user profile iconhuuuuuh hat folgendes geschrieben:
schrift nen bissl kleiner und die punkte etwas größer - ansonsten ganz gut...
und nen screenshot im ersten post is vielleicht auch ganz angebracht ;)


=> Änderungen vorgenommen - inklusive Screenshot ;) - sieht besser aus, danke


Webo - So 11.05.08 12:00

Richtig cooles Desing. Klasse Arbeit.

Gruß

Webo


Fighter#1 - So 11.05.08 16:04

Also .. 1. Ich hab Win XP ... iwie klappt das bei mir nichso ganz ;) ...
Bei mir sieht das Design nichmal annähernd aus wie auf deim Screenshot ;) ... keine Transparenz ....
Nya, aber ich will ja auch wenn ich mir ein Video anschau nich den Player sondern das Video anschauen ;) ... Also, was auf jeden Fall noch fehlt ist Vollbild und ein sich automatisch anpassendes Videofeld, wenn ich den Player vergrößer / verkleiner ...


Gausi - So 11.05.08 16:43

@Fighter: Glass-Effects unter XP dürften recht kompliziert sein. ;-)

Schön finde ich, dass angeblich alles abgespielt wird, was der WMP kann. Ich habe 3 Videos getestet, die alle im WMP laufen. Eins hat funktioniert, eins lief ungefähr 10mal so schnell ab, und eins hatte keinen Ton.

Und zum "ansprechenden Vista-Design" hab ich mal ein paar Sachen in einem Screenshot markiert - daran solltest du imho noch was arbeiten.


K.S.M. - So 11.05.08 19:10

user profile iconGausi hat folgendes geschrieben:
Und zum "ansprechenden Vista-Design" hab ich mal ein paar Sachen in einem Screenshot markiert - daran solltest du imho noch was arbeiten.


Ich fang mal rechts an: Da, wo der weiße Bereich über der Playlist ist, wird bei mp3-Dateien das Cover angezeigt. (Ich werde noch ein Bild hinzufügen ;), dann ist's eindeutig).

Zum Bild: Eigentlich sollte das Video zentriert laufen - er wird in einem TAnimate angezeigt - die Eigenschaft Center := True, das funktioniert aber nicht wirklich.

Die Checkbox mit der Caption "Nachricht" steuert, ob beim Anspielen eines nächsten Tracks das Infofenster unten rechts angezeigt werden soll.


Delete - So 11.05.08 19:40

Bitte nimm dieses "Programm" sofort vom Server - es lässt sich nicht einmal mit dem Taskmanager abschiessen!!!

Mit ALT-F4 liess sich zum Glück ein RESET verhindern.


Gausi - So 11.05.08 19:45

user profile iconK.S.M. hat folgendes geschrieben:
Ich fang mal rechts an: Da, wo der weiße Bereich über der Playlist ist, wird bei mp3-Dateien das Cover angezeigt. (Ich werde noch ein Bild hinzufügen ;), dann ist's eindeutig).


Das habe ich mir hinterher fast gedacht... ;-)

Man könnte den Bereich auch weglassen, und das Cover bei Audio-Dateien da anzeigen, wo bei Filmen der Film läuft. Denn in dem Fall braucht man wohl kaum ein Cover, oder?


K.S.M. - So 11.05.08 20:58

Zitat:
Man könnte den Bereich auch weglassen, und das Cover bei Audio-Dateien da anzeigen, wo bei Filmen der Film läuft. Denn in dem Fall braucht man wohl kaum ein Cover, oder?


Ja, das könnte man machen, aber ich hatte ursprünglich vor, eine Visualisierung einzubauen. Bisher weiß ich noch nicht, wie ich das realisieren könnte. Ich benutze die Komponente TMediaPlayer, deswegen ist das eher schwierig.


K.S.M. - So 11.05.08 21:11

user profile iconhathor hat folgendes geschrieben:
Bitte nimm dieses "Programm" sofort vom Server - es lässt sich nicht einmal mit dem Taskmanager abschiessen!!!

Mit ALT-F4 liess sich zum Glück ein RESET verhindern.


Wie dieser Fehler zustandekommt ist mir rätselhaft - ich ahbe sämtliche try ... exception-Blöcke eingebaut. Außerdem wird zuerst überprüft, ob die Datei existiert.

Aha! Mir ist grade aufgefallen, dass dieser Effekt nur unter XP auftritt. Ich weiß aber nicht, wie er entsteht...
Die meisten mp3-Dateien funktionieren eigentlich.


huuuuuh - So 11.05.08 21:24

der fehler kommt wenn man 'play' drückt ohne vorher eine datei geöffnet zu haben...den fall musste noch abfangen ;)


K.S.M. - So 11.05.08 21:45

user profile iconhuuuuuh hat folgendes geschrieben:
der fehler kommt wenn man 'play' drückt ohne vorher eine datei geöffnet zu haben...den fall musste noch abfangen ;)


Fehler in neuer Version entfernt!


Delete - So 11.05.08 22:04

Fehler:


K.S.M. - Mo 12.05.08 07:47

user profile iconhathor hat folgendes geschrieben:
Fehler:


Den Fehler hab ich selbst einprogrammiert (also mit TaskMessageDlg() ;)). Ich weiß ja nicht, warum die Datei sonst nicht geladen werden kann. Dieser Fehler tritt in meiner Prozedur "Play" auf, wenn der MediaPlayer versucht, die Datei, die geladen werden soll, zu öffnen. Allerdings mache ich bevor ich den befehl Player.Open ausführe erst noch einen Test, ob die Datei existiert.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
procedure TfrmMain.Play(Idx: Integer); // zur idx: Ich habe eine Playlist und er spielt das Lied nach seiner ID ab.
var
  ID3: TId3Tag;
begin
  if FileExists(Playlist[Idx].Pfad) then // Wenn die Datei exisitiert
    begin
      Lieder.ItemIndex := Idx; // Lieder ist eine TListBox (also nur für's visuelle)

      Id3 := ReadId3Tag(Playlist[Idx].Pfad, MainCover); // ID3-Tags der aktuellen Datei werden gelesen
      Aktuell := idx; // Die Variabel "Aktuell" ist nur lokal wichtig.

      UpdateView;   // Die Anzeigen im Formular inklusive Cover werden geladen (keine Fehler)

      Player.FileName := Playlist[Idx].Pfad; //dem Player wird der FileName zugewiesen.

      if not FileExists(Player.FileName) then // 2. Überprüfung, ob die Datei immernoch exisitiert - Man achte darauf, dass FileExists vom Player.FileName abgefragt wird und nicht von Playlist[Idx].Pfad.
        begin
          TaskMessageDlg(
          'Datei existiert nicht',
          Format('Die Datei "%s", die Sie öffnen wollten, existiert nicht.',[Player.FileName]),
          mtError,
          [mbOK],
          0);
          Next;
          Exit;
        end;

        try
          Player.Open; // Hier ist das Problem.
        except
          TaskMessageDlg(  // Man sieht den Fehler.
          'Datei konnte nicht abgespielt werden',
          Format('Es gab einen Fehler beim Abspielen der Datei "%s", die Sie wiedergeben wollten.',[Player.FileName]),
          mtError,
          [mbOK],
          0);
          Next; // Mit "Next" wird das nächste Lied aufgerufen. Also wenn das Lied Probleme macht, nächstes aufrufen.
          Exit;
        end;

        Player.Play; // Abspielen des Players

        VolumeChange(self); // Lautstärke

        Playing := True; // Lokale Variable
        
        Countdown.Caption := FormatDateTime('nn:ss' ,Player.Length-Player.Position); // Countdown oben rechts
    end;
end;


Vielleicht sieht ja jemand eine Schwachstelle... Zumindest konnte ich mit der letzten Version die Exception "Kein MCI-Gerät geöffnet" eindämmen. Auch wenn ich nicht verstehe, warum er die Datei "Player.Filename" nicht öffnen kann.


Blackheart666 - Mo 12.05.08 09:21

Bei mir sieht das Prog auch nicht so besonders aus XP buttons werden halb verdeckt die Schrift ist kaum zu lesen.
Ich vermisse eine Laden und Play und Stop Option.


K.S.M. - Mo 12.05.08 15:48

user profile iconBlackheart666 hat folgendes geschrieben:
Bei mir sieht das Prog auch nicht so besonders aus XP buttons werden halb verdeckt die Schrift ist kaum zu lesen.
Ich vermisse eine Laden und Play und Stop Option.


Dasliegt daran, dass bei dir wegen der schlechten Auflösung nicht alle Buttons angezeigt werden. Die Breite deines Players ist kleiner als die Mindestbreite. Deswegen verschwinden bei dir auch die Buttons.

EDIT: Ich habe in der neuen Version 1.2.7.84 bei der XP Version den Bereich der LEDs schwarz gefärbt. Außerdem ist der Hintergrund der Fortschrittsanzeige auch schwarz.


Blackheart666 - Di 13.05.08 07:02

user profile iconK.S.M. hat folgendes geschrieben:
user profile iconBlackheart666 hat folgendes geschrieben:
Bei mir sieht das Prog auch nicht so besonders aus XP buttons werden halb verdeckt die Schrift ist kaum zu lesen.
Ich vermisse eine Laden und Play und Stop Option.


Dasliegt daran, dass bei dir wegen der schlechten Auflösung nicht alle Buttons angezeigt werden. Die Breite deines Players ist kleiner als die Mindestbreite. Deswegen verschwinden bei dir auch die Buttons.

EDIT: Ich habe in der neuen Version 1.2.7.84 bei der XP Version den Bereich der LEDs schwarz gefärbt. Außerdem ist der Hintergrund der Fortschrittsanzeige auch schwarz.

Sollte sich darum nicht der Programmierer kümmern das es unter allen Auflösungen klappt. :wink:


Garf - So 20.07.08 13:36

Jetzt habe ich mir den Player auch mal unter XP SP3 angesehen.


Der Player der Zukunft ist er bis jetzt nicht.

Nachtrag:

Die wenigen Einstellungen werden nicht gespeichert.


K.S.M. - Mi 13.08.08 11:08
Titel: Phoenix Player Version 2.1 jetzt verfügbar!
Ich habe jetzt die neue 2.1 Version online gestellt.

Ihr könnt den alten Phoenix Player 1.2 unter http://www.phoenixsystems.de/de/downloads/view.php?id=2
und den neuen Phoenix Player 2.1.3.30 unter http://www.phoenixsystems.de/de/downloads/view.php?id=6 downloaden!

Viel Spaß beim Testen!


alias5000 - Mo 18.08.08 10:53

user profile iconK.S.M. hat folgendes geschrieben:

Vielleicht sieht ja jemand eine Schwachstelle... Zumindest konnte ich mit der letzten Version die Exception "Kein MCI-Gerät geöffnet" eindämmen. Auch wenn ich nicht verstehe, warum er die Datei "Player.Filename" nicht öffnen kann.

Ich würde zumindest mal im except-Block die Message der Exception mit ausgeben, dann bekommst du zumindest einen Riecher mehr.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
[..] //in etwa sowas (prinzipiell!)
except
  on E: Exception do begin
  showmessage(e.Message + ' - ' + e.ClassName);
  end;
end;


Gruß
alias5000


K.S.M. - Mo 18.08.08 17:48

Achso, vielleicht sollte ich erstmal schreiben, dass diese Fehler im Phoenix Player 2 überhaupt nicht mehr auftreten, bisher ließen sich bei mir alle MP3-Files problemlos abspielen.


huuuuuh - Mo 18.08.08 18:53

wow, ich muss sagen du hast das design klasse überarbeitet. top :zustimm:
hier ein bug: man kann das programm nich beenden. auch abschiessen über den task-manager geht nich. nach einigen sekunden bekommt man dann die meldung das das programm nichmehr reagiert. es spielt aber munter weiter...
nochn bug: bei der versionsprüfung wird eine datei erstellt welche du nach der prüfung aber nicht freigibst. dies führt bei einer nochmaligen prüfung zu einer fehlermeldung
edit: und nimm den screen aus dem ersten post. lad ihn als anhang hoch oder so...
viel zu groß so
edit2: und fröhlich gehts weiter... beim klick auf update downloaden öffnet sich ein save-dialog wo ich eine . update datei speichern kann (diese könntest du auch einfach in das anwendungsverzeichnis packen, erspart dem user eine menge nachdenken ;)) aber mehr passiert nich. alle buttons bleiben aktiviert, und heruntergeladen wird nichts. auch eine .update datei ist auch nach ner viertelstunde nich da...
das panel mit der visualisierung drauf is ein bisschen heller als das schwarz des programms.
es kommt vor das panel und/oder visualisierung die farbe nach beendigung des einstellungs-dialogs ändern, ohne das man eine einstellung geändert hat
edit3: bei doppelklick auf den tray-icon sollte sich das programm auch öffnen...
das mit dem rechtsklick is etwas gewöhnungfsbedürftig
edit4: für das update muss man die registry-speicherung aktivieren...wenn diese deaktiviert is solltest du den update button ebenfalls deaktivieren
wie dem auch sei...am ende des updates beendet sich der phoenixplayer...startet aber nich
der phoenixplayer.exe ist noch in der alten version, die phoenixplayer.update.exe, die sich jetzt in dem ordner befindet und vermutlich das update sein soll is keine zulässige win32-Anwendung --> update funktioniert nnich
du musst wohl auch die neueste version hier reinstellen....
edit5: das update hat jetz funktioniert...k.a. warum
mir ist aufgefallen das auch wenn man die registry funktion aktiviert hat, die einstellungen nich gespeichert werden....
und falls man dazu den registry-pfad anlegen knopf drücken muss: das könnte das programm doch nun wirklich automatisch machen...
allgemein sooltest du die buttons deaktivieren wenn sie nich gedrückt werden sollen oder fehler oder missverständnisse auslösen könnten und nicht blind auf den user vertrauen...
edit6: meinen 2. bug (datei nicht freigegeben) revidiere ich wieder. der fehler tritt nich mehr auf. stattdessen wird jetz ein "älter" hinter die aktuelle version geschrieben, jedes mal ein zusätzliches...
edit7: der in edit 6( :shock: ) erwähnte bug (datei nicht freigegeben --> fehlermeldung) tritt nur auf, wenn die registry-funktion deaktiviert ist
edit8: warum nimmst du keine inis zum speichern der einstellungen? die registry is zwar dazu da, aber bei nich-installer-programmemn find ich das irgendwie...unangebracht


K.S.M. - Di 19.08.08 10:09

user profile iconhuuuuuh hat folgendes geschrieben:
wow, ich muss sagen du hast das design klasse überarbeitet. top :zustimm:

Danke!
Zitat:

hier ein bug: man kann das programm nich beenden. auch abschiessen über den task-manager geht nich. nach einigen sekunden bekommt man dann die meldung das das programm nichmehr reagiert. es spielt aber munter weiter...

Bin leider selbst überfragt, ich weiß nicht... Was war es denn für ein Fehler?
Zitat:

nochn bug: bei der versionsprüfung wird eine datei erstellt welche du nach der prüfung aber nicht freigibst. dies führt bei einer nochmaligen prüfung zu einer fehlermeldung

Behoben
Zitat:

edit2: und fröhlich gehts weiter... beim klick auf update downloaden öffnet sich ein save-dialog wo ich eine . update datei speichern kann (diese könntest du auch einfach in das anwendungsverzeichnis packen, erspart dem user eine menge nachdenken ;))

Kein Save-Dialog mehr :)
Zitat:
aber mehr passiert nich. alle buttons bleiben aktiviert, und heruntergeladen wird nichts. auch eine .update datei ist auch nach ner viertelstunde nich da...

:?:
Zitat:

das panel mit der visualisierung drauf is ein bisschen heller als das schwarz des programms.

Das ist beabsichtigt, ich fand das sonst ein Bischen eintönig, nur Schwarz...
Zitat:

edit3: bei doppelklick auf den tray-icon sollte sich das programm auch öffnen...
das mit dem rechtsklick is etwas gewöhnungfsbedürftig

Doppelklick funktioniert
Zitat:

wie dem auch sei...am ende des updates beendet sich der phoenixplayer...startet aber nich
der phoenixplayer.exe ist noch in der alten version, die phoenixplayer.update.exe, die sich jetzt in dem ordner befindet und vermutlich das update sein soll is keine zulässige win32-Anwendung --> update funktioniert nnich
du musst wohl auch die neueste version hier reinstellen....
edit5: das update hat jetz funktioniert...k.a. warum
mir ist aufgefallen das auch wenn man die registry funktion aktiviert hat, die einstellungen nich gespeichert werden....
und falls man dazu den registry-pfad anlegen knopf drücken muss: das könnte das programm doch nun wirklich automatisch machen...
allgemein sooltest du die buttons deaktivieren wenn sie nich gedrückt werden sollen oder fehler oder missverständnisse auslösen könnten und nicht blind auf den user vertrauen...
edit8: warum nimmst du keine inis zum speichern der einstellungen? die registry is zwar dazu da, aber bei nich-installer-programmemn find ich das irgendwie...unangebracht

Wurde alles behoben: Optionen werden jetzt in "options.ini" gespeichert.

Vielen Dank für das Feedback, user profile iconhuuuuuh!