Phonon
Phonon software | |
---|---|
Genere | |
Sviluppatore | Comunità KDE |
Ultima versione | 4.12.0 (2 novembre 2023) |
Sistema operativo | Multipiattaforma |
Linguaggio | C++ |
Licenza | GNU LGPL v2.1 (licenza libera) |
Sito web | phonon.kde.org/ |
Phonon è il nuovo sottosistema multimediale di KDE 4. La grossa novità di Phonon consiste nel fornire una API molto semplificata (frontend) in grado di gestire qualsiasi backend multimediale per cui esista un plugin. Al momento i backend utilizzabili sono Gstreamer, VLC media player (il backend "ufficiale") e Xine (che però non è più supportato).
Si può vedere la semplicità con la quale Phonon permette ad uno sviluppatore di riprodurre un contenuto multimediale analizzando il seguente frammento di codice C++ preso dalla documentazione ufficiale Archiviato il 21 giugno 2006 in Internet Archive.:
media = new MediaObject( this );
connect( media, SIGNAL( finished() ), SLOT( slotFinished() );
media->setUrl( "/home/username/music/filename.ogg" );
media->play();
Come si vede in questo esempio lo sviluppatore non si deve preoccupare di configurare il backend in quanto questo viene gestito automaticamente. Il vero vantaggio di questo approccio risiede nel fatto che le future applicazioni di KDE4 (scritte per Phonon) potranno funzionare indipendentemente dal backend (e quindi dal sistema operativo) sottostante senza bisogno di nessuna modifica.
Usando aRts (il precedente sottosistema multimediale di KDE), erano necessarie circa 30 linee di codice per ottenere una funzionalità simile (vedi[collegamento interrotto]).
Phonon non è però un sistema multimediale che permetta agli sviluppatori di controllare i backend fino nei minimi dettagli, ma consente di avere a disposizione (in maniera semplicissima) le funzionalità di cui hanno veramente bisogno il 90% delle applicazioni. (vedi)
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su phonon.kde.org.
- Phonon, su packages.debian.org.
- Repository sorgenti di Phonon, su github.com.