Phonon
Un article de KDE4.
Phonon est le nom de l'API multimédia intégrée à KDE4.
Son but est d'abstraire l'accès aux différents frameworks multimédias existants (tels que Gstreamer, Xine...). Ainsi une application reposant sur Phonon n'aura pas besoin d'être adaptée si le framework vient à changer (migration de Gstreamer à Xine, par exemple). Phonon garantit donc une portabilité des applications reposant sur lui, puisque tout le travail de portabilité sera de son ressort.
Sommaire |
[modifier] But
Phonon vise à offrir une interface d'accès aux possibilités offertes par les différents frameworks multimédias sur lequel il se destine à fonctionner. Ainsi, quelque soit la façon d'accéder à une fonctionnalité A dans chacun d'eux, Phonon la proposera toujours de la même façon. Le code reposant sur Phonon n'a donc même pas connaissance du travail qui s'effectue dans les couches basses. Inconvénient de cette méthode : Phonon ne peut proposer que les fonctionnalités communes à tous les frameworks qu'il gère.
[modifier] Fonctionnalités
Phonon permet en plus d'offrir certaines fonctionnalités pratiques pour l'utilisateur telles que :
- Phonon permet de configurer le volume sonore par application, que l'on peut regrouper en catégories. Ainsi, vous pourrez lire une vidéo, tout en n'étant pas dérangé par les notifications (d'un client IM, du système...).
- Lorsque l'utilisateur reçoit et accepte un appel VoIP, le son des autres applications (lecteurs audio et/ou vidéo...) est diminué.
- Lorsque plusieurs vidéos sont lues en même temps, celle qui est en arrière-plan voit son volume sonore diminué
- Couplé à Solid, Phonon peut être informé de l'apparition de nouveaux périphériques de son (casques USB...) et basculer automatiquement l'entrée/sortie sur ce nouveau périphérique (si l'utilisateur avait précisé qu'il préfère le son dans le casque USB plutôt que par les enceintes)
[modifier] Exemple de code
Le code C++ nécessaire pour lire un fichier se réduit à ceci :
media = new MediaObject( this ); connect( media, SIGNAL( finished() ), SLOT( slotFinished() ) ); media->setUrl( "/home/username/music/filename.ogg" ); media->play();
[modifier] Moteurs de sons pris en charge
Voici une liste (normalement exhaustive) des moteurs de sons que Phonon peut (ou pourra) prendre en charge.
- xine,
- NMM,
- GStreamer,
- avKode,
- DirectShow (plate-forme Microsoft Windows),
- QuickTime (plate-forme Mac OS X).
[modifier] Avenir de Phonon
Trolltech a récemment annoncé que Phonon sera intégré à Qt 4.4.
[modifier] Références
[modifier] Liens externes
- ((en)) Site officiel
- ((en)) Phonon et le futur KDE multimédia
- ((en)) Roadmap
- ((en)) Documentation en ligne
- dépôt SVN

