En esta página

Los cambios introducidos en Qt Multimedia

Qt 6 son el resultado del esfuerzo consciente por hacer el framework más eficiente y fácil de usar.

Intentamos mantener la compatibilidad binaria y de código fuente de todas las API públicas en cada versión. Pero algunos cambios eran inevitables en un esfuerzo por hacer de Qt un framework mejor.

El módulo ha sido refactorizado significativamente y ha cambiado de clasificación, de esencial a complementario. El módulo Qt Multimedia de Qt 6 sustituye al módulo Qt Multimedia de Qt 5.x. El código existente que utiliza Qt Multimedia de Qt 5 puede portarse con un esfuerzo limitado.

Nuevas funciones de Qt 6

Hay una serie de nuevas características en Qt Multimedia:

  • QMediaCaptureSession class es el objeto central para la captura de medios.
  • QMediaRecorder class es ahora una clase limitada a la grabación de audio y video. Se encarga de la codificación de los datos producidos en una sesión de captura.
  • Con QMediaFormat y QMediaRecorder, la configuración de la codificación deseada al grabar ha cambiado significativamente.
  • Ahora también se puede supervisar el audio grabado por una sesión de captura.
  • Se ha añadido soporte para la selección de pistas de audio, vídeo y subtítulos al reproducir archivos multimedia.
  • QAudioDecoder ahora es compatible con todas las plataformas.

Funciones eliminadas

Función eliminadaNotas o alternativa sugerida
Lista de reproducción en QMediaPlayerQMediaPlayer ya no gestiona listas de reproducción en Qt 6.
QMediaPlayListEsta clase ha sido eliminada de la API. Sin embargo, aún existe como parte del Ejemplo de Reproductor Multimedia.
QAudioProbe y QVideoProbeSe ha eliminado la API de sondeo de audio y video.
QAudioRecorderUtilice el tipo QML QMediaCaptureSession o CaptureSession.
Tipo QML de audioUtilice el tipo QML MediaPlayer.
QMediaObject y QMediaBindableInterfaceEstas clases se han eliminado en favor de una API más directa para establecer conexiones entre objetos utilizando, por ejemplo, setVideoOutput y QMediaCaptureSession.
QCameraViewFinderSettingsEsta clase ha sido eliminada. Utilice QCameraFormat para definir la resolución y la velocidad de fotogramas que debe utilizar la cámara.
QMediaContentEsta clase ha sido eliminada. Utilice QUrl para archivos multimedia individuales.
QSoundUtilice QSoundEffect en su lugar.
QVideoFilterRunnableUtiliza efectos de sombreado en QML o accede al contenido de QVideoFrame en C++.
API pública de back-endLa API de back-end de Qt Multimedia es privada en Qt 6. Esto mejora el tiempo de respuesta para soportar nuevos casos de uso multimedia. Cualquier clase que contenga las palabras "Control" o "Abstract" en el nombre de la clase en Qt 5 es ahora privada en Qt 6.
El soporte para audio ALSA en Linux es experimentalEl audio en Linux requiere PulseAudio. El soporte experimental de ALSA será obsoleto en futuras versiones de Qt. Consulte las notas sobre la plataforma Linux para más detalles.

Características modificadas

Varias clases ofrecidas anteriormente en Qt Multimedia han cambiado de forma que pueden afectar al código escrito previamente. La siguiente tabla destaca estos cambios.

Característica cambiadaNotas
Gestión de las resoluciones y frecuencias de imagen de la cámaraSe ha simplificado su manejo y una nueva clase QCameraFormat ayuda a seleccionar la resolución y frecuencia de imagen correctas para la cámara.
El manejo de la salida de video en el lado C++ ha cambiado significativamente.QAbstractVideoSurface ha sido sustituida por la clase QVideoSink, y se ha mejorado el soporte de renderizado genérico para cubrir todos los formatos de píxelsoportados por Qt Multimedia.
Tipos de metadatosQMediaMetaData ha cambiado significativamente: principalmente se ha pasado de claves basadas en cadenas a claves basadas en enum, y se ha reducido el conjunto de claves soportadas a las que pueden ser soportadas en la mayoría de las plataformas.
QMediaFormatEl manejo de los formatos para los medios codificados y los ajustes para la grabadora de medios han cambiado significativamente. Qt 5 proporciona una API basada en cadenas, un formato de archivo separado y códecs de audio y vídeo en tres clases. Sin embargo, Qt 6 unifica los formatos en la clase QMediaFormat. Los ajustes adicionales se especifican directamente en QMediaRecorder. La configuración de formatos de archivo y códecs se implementa ahora con enums y ya no utiliza cadenas. Esto pone algunas limitaciones en el conjunto de códecs que se pueden utilizar, pero ayuda a proporcionar una API multiplataforma consistente.
QCameraImageCapture ha cambiado de nombre a QImageCaptureNinguno
Entradas y salidas de audioQMediaPlayer y QMediaCaptureSession (y los correspondientes tipos QML MediaPlayer y CaptureSession) no están conectadas a ningún dispositivo de audio por defecto. Conéctelos explícitamente a un QAudioInput/AudioInput o QAudioOutput/AudioOutput para capturar o reproducir audio.
Capturar vídeoUna sesión de captura no está conectada por defecto a una cámara. Conéctela a un objeto QCamera (elemento Cámara) para poder capturar vídeo o imágenes fijas.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.