Introduction à Phonon avec Qt
Date de publication : 14/09/2010
Par
Tstaerk
traducteur : Maxime Spriet
En cherchant une API multimédia multi-plateforme à utiliser avec Qt, vous avez découvert Phonon mais vous ne savez pas par où commencer ?
Cet article vous présente comment bien démarrer dans l'utilisation de l'API Phonon.
N'hésitez pas à commenter cet article !
Commentez
I. L'article original
II. Introduction
III. L'utilisation de l'API Phonon
III-A. CMakeLists.txt
III-B. tutorial2.cpp
III-C. Compilation et exécution
IV. Divers
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.
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
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
|
IV. Divers

