Frage

Ich möchte einen Media Player / Recorder entwickeln.

Die primäre Zielplattform ist Windows. Die Unterstützung anderer Betriebssysteme wäre nett, aber das hat keine hohe Priorität. Es sollte in der Lage sein, Formate wie WAV, MP3, AVI abzuspielen. Es sollte auch in der Lage sein, Audio (Mikrofon) und Video (Webcam oder Aufnahmekarte) aufzunehmen.

Da ich einige Erfahrungen mit QT und C ++ habe, habe ich mir QT (4.7.2) Phonon mit DS-Backend angesehen. Leider konnte ich selbst mit dem MediaPlayer-Beispiel, das mit den QT-Demos geliefert wird, kein einfaches AVI abspielen. Ich konnte nur Ton hören, sah aber kein Video.

Der Entwicklercomputer ist ein 64-Bit-Vista. Ich habe es auch auf einem anderen 64-Bit-Vista ohne Glück versucht. Auf einem 32-Bit-Win7 (QT MinGW) hat es dann endlich geklappt. Aber als ich diese ausführbare MediaPlayer-Datei und ihre DLLs auf die 64-Bit-Computer kopierte und versuchte, sie auszuführen, schlug sie erneut fehl.

Gibt es ein bekanntes Problem mit QT-Phonon auf 64-Bit-Computern? Ich habe auch von einem VLC-Phonon-Backend gehört. Könnte das eine Lösung sein? Ist das QT-Phonon ausgereift genug, um darüber hinaus eine kommerzielle Anwendung zu entwickeln? Oder ist es vielleicht sinnvoller, direkt auf directshow zuzugreifen?

Danke

War es hilfreich?

Lösung

Directshow is just a programming framework or API, it does not guarantee that you will be able to play every possible video format on every computer, since it relies on codecs installed on the system to decompress the audio/video streams. A codec for one specific format might be available in one system an not in anotherone. On top of that, 64 bits architecture adds even more complexity, since codecs built in 64 bits mode cannot be used from 32 bits applications and vice-versa. The issue you are facing on the 32 bits Phonon player is very likelly to be caused by a missing or "not 32 bits compatible" codec.
VLC on the other hand is a self contained application, it does not depend on DirectShow or in any codec installed on the system, so it might be a good idea to use it instead of DirectShow, however you will need to read VLC legal terms and decide if you can still use it for your purposes.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top