Ajouter du son à vos applications

Pour utiliser du son dans une application QTCreator, il est nécessaire d'utiliser la bibliothèque multimedia.

  • Créer le projet (test_son dans notre exemple) selon la méthode habituelle vue dans les pages précédentes
  • Ajouter dans le fichier .pro, la bibliothèque multimédia

#-------------------------------------------------

#

# Project created by QtCreator 2016-05-29T20:18:54

#

#-------------------------------------------------


QT       += core gui


greaterThan(QT_MAJOR_VERSION, 4):

QT += widgets multimedia


TARGET = test_son

TEMPLATE = app



SOURCES += main.cpp\

        mainwindow.cpp


HEADERS  += mainwindow.h


FORMS    += mainwindow.ui

  • Ajouter un fichier de ressource dans lequel seront placés les sons WAV sous un préfixe sons :
  • Dans le fichier d'entête, inclure la classe QSound

#ifndef MAINWINDOW_H

#define MAINWINDOW_H


#include <QMainWindow>

#include <QSound>

.....

  • Déclarer un pointeur de variable de type QSound (ici son) :

......

private:

    Ui::MainWindow *ui;

    QSound *son;

  • Dans le constructeur de la fenêtre principale du projet, initialiser son en précisant le fichier wav associer à la variable son:

#include "mainwindow.h"

#include "ui_mainwindow.h"



MainWindow::MainWindow(QWidget *parent) :

    QMainWindow(parent),

    ui(new Ui::MainWindow)

{

    ui->setupUi(this);

    son=new QSound(":/sons/bubble.wav");

}


MainWindow::~MainWindow()

{

    delete ui;

}

  • Pour démarrer la lecture du son, utiliser la méthode play

    void MainWindow::on_actionSon_triggered()

    {

      son->play();

    }


  • pour arrêter le son utiliser la méthode stop