Automatische Unterbrechung bei Suspend und Fortsetzen der Wiedergabe bei Resume (wird von Windows Messages getriggert)
Die Benutzung des Systems zur Wiedergabe (DShow)
Phonon klingt auf den ersten Blick recht interessant. Wichtig ist mir allerdings, dass ich die Kontrolle über die Lautstärke (geplant), Geschwindigkeit, Videofenster (geplant) etc. in meinem Programm habe, und dafür keine weiteren Buttons dargestellt werden. Lediglich die Codecs und die Ausgabe sollen vom System übernommen werden. Systemlautstärkeregler etc. will ich natürlich nicht verhindern
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!
Ist mit Phonon kein Problem. Ich habe das bis jetzt nur in C++-Projekten und im Zusamenhang mit KDE4 gesehen, da es Platformunabhängig ist, ist es aber sicher auch für Lazarus eine überlegung wert. In der C++-Anwendung war nur (irgendwie naheliegend bei KDE) die Qt-Abhängigkeit sehr groß. Die Frage ist: Lässt sich Phonon auch ohne Qt nutzen? Darauf habe ich bis jetzt keine Antwort gefunden. (Mich aber auch nicht viel damit beschäftigt)
P.S: Dein Player läuft übrigens recht gut mit Wine unter Linux.
Bisher gibt es soweit ich weiß unter Linux kein verbreitetes Codec-Framework (Codecs werden entweder vom Programm mitgebracht, oder es gibt ein Systemverzeichnis dafür, die Schnittstellen der Codecs sind aber auch unterschiedlich), daher ist das auch bisher auf unbestimmte Zeit in die Zukunft verschoben. Das von Targion angesprochene Phonon Framework werde ich mir aber wie in vorhergehenden Beiträgen gesagt auf alle Fälle mal genauer ansehen. Das sieht sehr vielversprechend aus. Wann ich wieder an dem Programm arbeite ist allerdings unklar. Momentan hab ich jedenfalls viel zu tun und komme nicht dazu.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!
Habe soeben mal das Drag´n´Drop auf das Lazarus-Ereignis umgestellt, damit ist es systemunabhängig. Sonst keine Änderungen oder Neuigkeiten, da ich momentan viel zu tun hab.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!
Durch ungeschickte Programmierung in Zusammenhang mit dem 2. Thread (Ermittlung der Laufzeit) kann es in RSEPlayer0.0.1alpha und RSEPlayer0.0.1alpha2 leicht zu Access Violations kommen. Dazu reicht es, direkt nach Programmstart mehrere nicht abspielbare Dateien gleichzeitig ins Programm zu laden. Ich biete daher bis zur Behebung des Problems keinen Download mehr an. Jede weitere Benutzung des bereits heruntergeladenen Programms geschieht auf eigene Gefahr!
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!
Naja, so nun nicht, aber es ist doch auch nicht grad ein Aushängeschild für den Programmierer. Theoretisch sollte das ja auch von Windows alles bemerkt werden. Schlimmer sind sicherlich große Memory Leaks. Komisch finde ich jedenfalls, dass die Ausgabe, die die Access Violation verursacht, merklich vorher noch auf dem Bildschirm erscheint und das Programm noch weiterläuft, bis dann endlich die Fehlermeldung kommt. Und bei mir treten solche Fehler im Normalfall gar nicht auf, was hast du denn für Programme laufen???
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!
RSE hat geschrieben: Komisch finde ich jedenfalls, dass die Ausgabe, die die Access Violation verursacht, merklich vorher noch auf dem Bildschirm erscheint und das Programm noch weiterläuft, bis dann endlich die Fehlermeldung kommt.
Das ist eigentlich der Normalfall. Die Ausgabe, die merklich vorher noch auf dem Bildschirm erscheint, hat eben nicht die Access-Violation verursacht, sondern hat irgendetwas _im_ Programm-Adressraum kaputtgeschrieben, was dann später die richtige Access-Violation (das Programm wollte etwas adressieren, das nicht in seinem eigenen Adressraum liegt) verursacht hat.
RSE hat geschrieben:Komisch finde ich jedenfalls, dass die Ausgabe, die die Access Violation verursacht, merklich vorher noch auf dem Bildschirm erscheint und das Programm noch weiterläuft, bis dann endlich die Fehlermeldung kommt.
mschnell hat geschrieben:Die Ausgabe, die merklich vorher noch auf dem Bildschirm erscheint, hat eben nicht die Access-Violation verursacht, sondern hat irgendetwas _im_ Programm-Adressraum kaputtgeschrieben, was dann später die richtige Access-Violation (das Programm wollte etwas adressieren, das nicht in seinem eigenen Adressraum liegt) verursacht hat.
Ach so läuft das... Dann kann ja dabei wirklich Mist passieren, wenns dumm kommt... Naja, jetzt weiß ich ja erstmal, was ich alles ändern muss, um das Problem zu verhindern. Wann ich das umsetze, ist allerdings eine andere Frage, wohl nicht vor Ende der Woche.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!