I. L'article original▲
KDE TechBase est un wiki à destination des développeurs de KDE, permettant de partager des articles et ainsi contribuer à une des plus grandes communautés.
Cette page est distribuée sous les termes de la licence Creative Commons 3.
Cet article est la traduction de la page Phonon introduction, par Tstaerk.
II. Introduction▲
Tout ce qui suit est fondé sur la documentation de l'API Phonon.
En tant qu'utilisateur de Phonon, nous avons le choix entre trois axes majeurs de développement :
- utiliser l'API Phonon, qui vous permet de développer votre propre application multimédia. En effet, toute application nécessitant du son peut profiter de l'API Phonon. Dans ce tutoriel, nous apprendrons comment préparer l'environnement de développement kdevelop 3.4 à l'utilisation de Phonon ;
- améliorer la bibliothèque Phonon en analysant les failles, (j'essaie de développer d'avantage cette partie) ;
- écrire un backend pour Phonon. Cela consiste à développer des interfaces qui permettent l'utilisation de différents outils multimédia avec Phonon. Cela requiert de bonnes compétences et connaissances des outils utilisés dans l'interface.
Les débutants seront probablement plus intéressés par le premier point.
III. L'utilisation de l'API Phonon ▲
L'exemple qui suit est tiré de http://www.englishbreakfastnetwork.org/apidocs/apidox-kde-4.0/kdelibs-apidocs/phonon/html/index.html. Il lance le fichier /tmp/example.wav. Pour changer la configuration sonore utilisée par défaut, utilisez la commande systemsettings.
III-A. CMakeLists.txt▲
Vous aurez besoin d'un fichier CMakeLists.txt pour compiler le logiciel :
CMakeLists.txt
project (tutorial2)
find_package(KDE4 REQUIRED)
include (KDE4Defaults)
include_directories(${KDE4_INCLUDES})
set(tutorial1_SRCS tutorial2.cpp)
kde4_add_executable(tutorial2 ${tutorial1_SRCS})
target_link_libraries(tutorial2 ${KDE4_KDEUI_LIBS} phonon)
install(TARGETS tutorial2 ${INSTALL_TARGETS_DEFAULT_ARGS})
III-B. tutorial2.cpp▲
#include
<QtGui/QApplication>
#include
<QtGui/QMainWindow>
#include
<QUrl>
class
MainWindow : public
QMainWindow
{
Q_OBJECT
public
:
MainWindow();
}
;
MainWindow::
MainWindow()
{
Phonon
::
MediaObject
*
media =
new
Phonon
::
MediaObject
(this
);
createPath(media, new
Phonon
::
AudioOutput
(Phonon
::
MusicCategory, this
));
media->
setCurrentSource(QUrl
("/tmp/example.wav"
));
media->
play();
}
int
main(int
argc, char
**
argv)
{
QApplication
app(argc, argv);
QApplication
::
setApplicationName("Phonon Tutorial 2"
);
MainWindow mw;
mw.show();
return
app.exec();
}
#include
"tutorial2.moc"
III-C. Compilation et exécution▲
cmake . && make && ./tutorial2