Share on Facebook Share on Twitter Email
Answers.com

Phonon

 
Wikipedia: Phonon (KDE)
Phonon
Phonon Logo
Developer(s) Matthias Kretz u.a.
Stable release 4.3 / 2009-01-27; 9 months ago
Written in C++
Operating system Linux, BSD, Mac OS X, Solaris, Windows
Type Multimedia framework
License LGPL
Website phonon.kde.org

Phonon is the multimedia API for KDE 4. Phonon was created to allow KDE 4 to be independent of any single multimedia framework such as GStreamer or xine and to provide a stable API for KDE 4's lifetime. It was done for various reasons: to create a simple KDE/Qt style multimedia API, to better support native multimedia frameworks on Windows and Mac OS X, and to fix problems of frameworks becoming unmaintained or having API or ABI instability.

For example, a file can be played in four lines of C++ code[1], compared to 30 lines in the old audio framework (aRts)[2]

 media = new MediaObject(this);
 connect(media, SIGNAL(finished()), SLOT(slotFinished()));
 media->setCurrentSource("/home/username/music/filename.ogg");
 media->play();

Phonon is not designed to have every conceivable multimedia feature, but rather as a simple way to perform common functions of media players. Developers that require more control over a backend than Phonon can provide are recommended to use the native API or the GStreamer API on systems for which it's available.[2]

Contents

History

The idea behind Phonon started at aKademy 2004 in Ludwigsburg, where a new multimedia API had to be chosen to replace aRts. No consensus was reached but a few developers got together and decided to try to develop a new framework with multiple backends. The earlist version was called KDEMM (KDE MultiMedia) and was only supported by JuK and Amarok. Matthias Kretz continued to work single handed on the project as part of his university thesis, The project changed name once more but in February 2006 the name Phonon was finally chosen. The first official release was part of KDE 4.0 in January 2008, the same year Phonon was adopted by Qt and released as part Qt 4.4.

Features

  • Phonon will interface with various backends with what developers call "engines"; each engine works with one specific backend. Each backend will let Phonon control basic functions like play, pause, and seek. Phonon will also support higher level functions such as how tracks fade into each other.[3]
  • Phonon will be able to switch multimedia frameworks on the fly. The user will be able to switch between frameworks even while listening to music, with only a slight pause during the switch. This change will also be system wide, affecting all applications that use Phonon, so changing frameworks will be much easier.
  • Using Solid, Phonon will give the users greater control over accessories like headsets, speakers, and microphones. An example was given that you could have a VoIP conversation only be played through your headset, but have all other sounds come out through speakers.[3]

Use in Qt

Phonon is used in Qt release 4.4 and above to provide cross platform audio/video playback. In addition to backends for free software frameworks such as xine and GStreamer, backends have been developed for QuickTime (OS X) and DirectShow (Windows).[5]

References

External links



Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
 
 

 

Copyrights:

Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Phonon (KDE)" Read more

 

Mentioned in