2011-05-05 4 views
3

Je souhaite développer un lecteur/enregistreur multimédia.Lecteur/enregistreur multimédia (phonon)

La plate-forme cible principale est Windows, la prise en charge d'autres systèmes d'exploitation serait intéressante, mais ce n'est pas une priorité élevée. Il devrait être capable de lire des formats comme wav, mp3, avi. Il devrait également pouvoir enregistrer l'audio (microphone) et la vidéo (webcam ou carte de capture). Comme j'ai une certaine expérience avec QT et C++, j'ai regardé phonon QT (4.7.2) avec backend DS. Mais malheureusement, je ne pouvais pas lire un AVI simple, même avec l'exemple MediaPlayer fourni avec les démos QT. Je pouvais seulement entendre le son, mais je n'ai vu aucune vidéo.

La machine de développement est un Vista 64 bits. Je l'ai également essayé sur un autre Vista 64 bits sans aucune chance. Sur un Win7 32 bits (QT MinGW), il a finalement travaillé. Mais quand j'ai copié cet exécutable MediaPlayer et ses dlls sur les machines 64 bits et essayé de l'exécuter, il a de nouveau échoué.

Y at-il un problème connu avec QT phonon sur les machines 64 bits? J'ai aussi entendu parler d'un backend VLC phonon. Cela pourrait-il être une solution? Le phonon QT est-il assez mature pour développer une application commerciale? Ou est-il plus sage d'accéder directement à DirectShow?

Merci

+1

Si vous ouvrez le fichier que vous essayez de lire dans Windows Media Player, sont-ils compatibles avec les systèmes sur lesquels le lecteur Phonon ne fonctionne pas? – Bart

Répondre

2

DirectShow est juste un cadre de programmation ou API, il ne garantit pas que vous serez en mesure de jouer tous les formats vidéo possible sur chaque ordinateur, car il repose sur codecs installé sur le système pour décompresser l'audio/flux vidéo. Un codec pour un format spécifique peut être disponible dans un système et non dans un autre. En plus de cela, l'architecture 64 bits ajoute encore plus de complexité, puisque les codecs construits en mode 64 bits ne peuvent pas être utilisés à partir d'applications 32 bits et vice-versa. Le problème auquel vous êtes confronté sur le lecteur Phonon 32 bits est très probablement causé par un codec manquant ou "non compatible 32 bits". En revanche, VLC est une application autonome, elle ne dépend pas de DirectShow ou de tout codec installé sur le système. Il peut donc être utile de l'utiliser à la place de DirectShow. Cependant, vous devez lire VLC legal terms et décidez si vous pouvez toujours l'utiliser pour vos besoins.