Plan Introduction Architecture Utiliser l’API Phonon Multim´ edia facile pour vos applications K´ evin Ottens 26 Janvier 2008 K´ evin Ottens — Phonon 1/14
Plan Introduction Architecture Utiliser l’API Plan 1 Introduction 2 Architecture 3 Utiliser l’API K´ evin Ottens — Phonon 2/14
Plan Introduction Architecture Utiliser l’API Plan 1 Introduction 2 Architecture 3 Utiliser l’API K´ evin Ottens — Phonon 3/14
Plan Introduction Architecture Utiliser l’API Multim´ edia et KDE Une relation... qui pousse au meurtre passionnel KDE1 et KDE2 Initialement la plateforme KDE ne couvrait pas le multim´ edia KDE2 fournissait une API et un serveur de son: aRts KDE3 Discussions pour l’ajout du support vid´ eo... ... mais finalement rien ne change Plus de d´ eveloppement actif sur aRts En route vers KDE4 Cr´ eation de KDEMM pour remplacer aRts Renomm´ e en ”Phonon” K´ evin Ottens — Phonon 4/14
Plan Introduction Architecture Utiliser l’API Nouvelles contraintes Quadrature du cercle ”Just Work” Eviter ` a l’utilisateur de devoir configurer ses applications Permettre d’utiliser les fonctionnalit´ es avanc´ ees Choix et portabilit´ e Permettre les choix du serveur de son, ou du framework multim´ edia utilis´ e par le syst` eme Garantir la portabilit´ e des applications Stimuler le multim´ edia dans KDE Faciliter le travail des d´ eveloppeurs D´ echarger les applications de la configuration K´ evin Ottens — Phonon 5/14
Plan Introduction Architecture Utiliser l’API Phonon Un environnement qui fait p´ eter les watts ! Fiche d’identit´ e Leader : Matthias Kretz But : Renforcer les capacit´ es multim´ edia de KDE D´ etails techniques API de haut niveau con¸ cue en collectant des cas d’utilisation Backends, permettant de supporter autant de frameworks multimedia que n´ ecessaire Xine, GStreamer, NetworkMultiMedia (NMM) DirectX QuickTime Tests unitaires, et tests de validation pour les backends K´ evin Ottens — Phonon 6/14
Plan Introduction Architecture Utiliser l’API Plan 1 Introduction 2 Architecture 3 Utiliser l’API K´ evin Ottens — Phonon 7/14
Plan Introduction Architecture Utiliser l’API S´ eparation Frontend/Backend Frontend Object + Object() calls + doSomething() Factory calls + createObject() creates Object + doSomething() Backend Principe Compabilit´ e binaire assur´ ee dans le frontend Chaque objet du frontend pointe sur un objet du backend Une ”factory” est utilis´ ee pour cr´ eer les objets du backend K´ evin Ottens — Phonon 8/14
Plan Introduction Architecture Utiliser l’API Portabilit´ e Frontend API AudioOutput + doSomething() Linux Mac OS Windows Xine::AudioOutput QuickTime::AudioOutput DirectX::AudioOutput + doSomething() + doSomething() + doSomething() K´ evin Ottens — Phonon 9/14
Plan Introduction Architecture Utiliser l’API Abstraire les sorties Le d´ eveloppeur ne s’int´ eresse pas ` a toutes les sorties audio L’utilisateur choisi la sortie audio par type d’application Phonon g` ere les associations et priorit´ es K´ evin Ottens — Phonon 10/14
Plan Introduction Architecture Utiliser l’API Plan 1 Introduction 2 Architecture 3 Utiliser l’API K´ evin Ottens — Phonon 11/14
Plan Introduction Architecture Utiliser l’API Playback Comme Madonna... Sources et gestion MediaSource : source multimedia (audio, video) en provenance d’un fichier, d’une URL, d’un disque, etc. MediaObject : contrˆ ole le d´ eroulement d’une source, gestion de file Chemins MediaNode : noeud d’un pipeline MediaObject : c’est aussi un MediaNode AudioOutput : sortie audio (carte audio, r´ eseau, etc.) VideoWidget : afficheur vid´ eo Path : connecte deux noeuds, insertion d’effets D´ emo, ”phonon-player” (53 lignes) K´ evin Ottens — Phonon 12/14
Plan Introduction Architecture Utiliser l’API Outillage compl´ ementaire On veut toujours se faciliter la vie Widgets VolumeSlider : contrˆ ole du volume d’un AudioOutput SeekSlider : contrˆ ole l’avancement d’un MediaObject EffectWidget : configuration d’un effet Utilitaires VolumeFaderEffect : r´ eglage dynamique du volume (fondu silence, cross-fading...) VideoPlayer : lecteur vid´ eo basique K´ evin Ottens — Phonon 13/14
Plan Introduction Architecture Utiliser l’API Questions ? K´ evin Ottens ervin@kde.org K´ evin Ottens — Phonon 14/14
Recommend
More recommend