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 :

 
Sélectionnez
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

 
Sélectionnez
#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

 
Sélectionnez
cmake . && make && ./tutorial2

IV. Divers

Merci à dourouc05 et eusebe19 pour leur relecture !