QT Creator un Reproductor de MP3 con QMediaPlayer

Diseñaremos en QT Creator un Reproductor de MP3 se utiliza para reproducir audio. En este tutorial se diseñará un reproductor de MP3. El propósito de este tutorial es diseñar una aplicación en QT para reproducir canciones. Nuestro programa tendrá cuatro botones, play, stop, pausa y abrir. El botón de abrir permitirá abrir una canción a través de un cuadro de dialogo para seleccionar el nombre de la canción que se reproducirá. La interfaz gráfica se vera así:

QT Creator un Reproductor de MP3

 

Procedimiento para crear en QT Creator un Reproductor de MP3

Para comenzar el diseño en QT Creator un Reproductor de MP3Primero, comenzaremos con las configuraciones necesarias así como las bibliotecas que estaremos utilizando. Entonces comenzaremos con la configuración necesaria.

Paso # 0 – Instalar la biblioteca multimedia

  • sudo add-apt-repository ppa:librepilot/tools -y
  • sudo apt-get update -q
  • sudo apt-get build-dep qtmultimedia5-dev

Paso # 1 – Modificar el archivo.pro

Para la configuración sólo tenemos que incluir a la siguiente línea de código antes o después de la primera línea de configuración.

  1. QT += core gui   #Esta es la primera línea que debería de aparecer.
  2. QT += multimedia  #Esta es la línea que se agregará nueva.

 

Paso # 2. Modificar el archivo mainWindow.h

Las modificaciones al código original del proyecto limpio, son los siguientes:

  1. Se agrego la siguiente biblioteca:
    • #include <QMediaPlayer>   //Esta incluye a las clases necesarias para el reproductor.
  2. Se agrego un objeto llamado reproductor de la clase QMediaPlayer.

Se modificará el archivo de mainWindow.h , para que tenga el siguiente código.

Paso # 3. Agregar los elementos visuales

Para el paso 3 se agregarán a la ui, 4 botones y la barra vertical que se encuentran en la ventana de diseño. Dichos elementos se encuentran en la categoría de «Buttons» e «input Widgets» respectivamente. Posteriormente se modificaran los nombres de dichos elementos para que tengan los siguientes nombres y también el texto que muestran:

QT Creator un Reproductor de MP3 con QMediaPlayer Paso 3

 

Paso # 4 Agregar las bibliotecas necesarias a mainWindow.cpp

Se agregarán las siguientes bibliotecas al código de mainWindow.cpp:

  1. 1- #include<QMediaPlayer>    //Para crear el reproductor y las conexiones necesarias con los elementos de los botones de la ui.
  2. 2- #include <QFileInfo>           //Esta biblioteca permite obtener informacion sobre los archivos que abriremos, como por ejemplo su ruta absoluta o relativa.
  3. 3- #include <QFileDialog>      //La biblioteca nos permitirá abrir un cuadro de dialogo para «capturar» el nombre del archivo mp3.

 

Paso # 5 – Agregar y conectar el reproductor

Para el paso 5 se creará el reproductor con la siguiente instrucción. Recordemos que el objeto «reproductor» se declaro en la cabecera de mainWindow.cpp. Es decir, en el archivo mainWindow.h. La siguiente línea de código se coloca después de la linea: ui->setupUi(this); .

  • reproductor = new QMediaPlayer(this);   //Genera el objeto del reproductor en la ventana actual.

Lo siguiente es realizar las conexiones entre las distintas señales que requiere el reproductor, con los elementos de la GUI (Bótones). Esto se realizará abajo de la línea anterior:

  1. 1- connect(ui->botonPlay, &QPushButton::clicked, reproductor, &QMediaPlayer::play);
  2. 2- connect(ui->botonPausa, &QPushButton::clicked, reproductor, &QMediaPlayer::pause);
  3. 3- connect(ui->botonStop, &QPushButton::clicked, reproductor, &QMediaPlayer::stop);

Es importante que se haya realizado el paso 3 correctamente, de otro modo no coincidirán los nombres de las conexiones. 

Para las 3 líneas de código anterior, se esta indicando: conecta la señal «clicked» del boton: «botonPlay» a la señal de entrada de «play» del reproductor de audio. Entonces de forma asíncrona, cada vez que se seleccione el clic en dicho botón, se estará activando la señal de «play» en el botón. Esto funcionará como una interrupción. Por lo tanto no se requiere monitorear la señal del clic.

Paso # 6 – Crear el evento de capturar el nombre del MP3

Para el paso 6, se creará a la función del evento clicked en el botón llamado «pushButton».  Dicho botón está indicado con la leyenda «abrir». Como también se puede observar en el paso # 3. Entonces, para este paso, se seleccionará con el clic derecho al botón «abrir», después la opción «go to slot» y después la opción «clicked».

QT Reproductor de MP3 con QMediaPlayer

 

Dentro de la función que se creará se agregará el siguiente código:

Este código guarda el nombre del archivo seleccionado en la variable del tipo QString llamada nombreArchivo. Posteriormente esta variable se coloca dentro de la estructura del reproductor para agregarle la canción que reproducirá.

Paso # 7 – Enlazar el volumen al verticalSlider

Para este paso, haremos algo similar que el paso 6 pero con el verticalSlider. Entonces seleccionaremos con el clic derecho al verticalSlider, después seleccionamos la opción «go to slot» y seleccionaremos la opción: «sliderMoved(int)». Dentro de esta función que se ha creado, escribiremos la siguiente línea de código.

  • reproductor->setVolume(position);

Esta instrucción permitirá configurar el volumen del reproductor con el cambio en la posicón del verticalSlider.

QT Creator reproductor de MP3

 

 

Finalmente el código completo de mainWindow.cpp se  vera de la siguiente forma:

Puedes descargar el proyecto completo en el siguiente enlace:

https://hetpro-store.com/TUTORIALES/EjemplosProgramas/QT-MP3-Player.zip 

Lo primero que tenemos que crear es la GUI (Graphical User Interface – Interfaz Gráfica de Usuario). Esto se realiza modificando el archivo que termina en *.ui que es uno de los archivos del proyecto. Si no sabes como crear un proyecto nuevo, puedes ver el tutorial anterior: Como crear un proyecto nuevo en QT.

 

Escríbenos tus dudas o comentarios

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Usamos Cookies en nuestro sitio WEB

Por favor confirma, si aceptas nuestras cookies de rastreo. También puedes negar el uso de cookies de rastreo y seguir navegando sin que ninguna información sea enviada a servicios de terceros.