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.


Gestionnaire des paramètres de Phonon
Gestionnaire des paramètres de Phonon

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

Récupérée de « http://kde4.windu2b.org/Phonon »