QMediaDevices Class
La clase QMediaDevices proporciona información sobre los dispositivos multimedia de entrada y salida disponibles. Más...
| Cabecera: | #include <QMediaDevices> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia)target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
| En QML: | MediaDevices |
| Hereda: | QObject |
Propiedades
|
|
Señales
| void | audioInputsChanged() |
| void | audioOutputsChanged() |
| void | videoInputsChanged() |
Miembros públicos estáticos
| QList<QAudioDevice> | audioInputs() |
| QList<QAudioDevice> | audioOutputs() |
| QAudioDevice | defaultAudioInput() |
| QAudioDevice | defaultAudioOutput() |
| QCameraDevice | defaultVideoInput() |
| QList<QCameraDevice> | videoInputs() |
Descripción Detallada
La clase QMediaDevices proporciona información sobre los dispositivos multimedia disponibles y los predeterminados del sistema. Monitorea los siguientes tres grupos:
- Dispositivos de entrada de audio (Micrófonos)
- Dispositivos de salida de audio (Altavoces, Auriculares)
- Dispositivos de entrada de vídeo (Cámaras)
QMediaDevices proporciona una lista separada para cada grupo de dispositivos. Si detecta que un nuevo dispositivo se ha conectado al sistema o que un dispositivo conectado se ha desconectado del sistema, actualizará la lista de dispositivos correspondiente y emitirá una señal notificando el cambio.
Las funciones QMediaDevices::audioInputs y QMediaDevices::audioOutputs pueden utilizarse para enumerar todos los micrófonos y altavoces/auriculares del sistema. Este ejemplo primero obtiene una lista de todos los micrófonos conectados, y luego imprime su identificador, descripción, y si es el dispositivo por defecto o no.
const QList<QAudioDevice> audioDevices = QMediaDevices::audioInputs(); for (const QAudioDevice &device : audioDevices) { out << "ID: " << device.id() << Qt::endl; out << "Description: " << device.description() << Qt::endl; out << "Is default: " << (device.isDefault() ? "Yes" : "No") << Qt::endl; }
De forma similar, QMediaDevices::videoInputs devolverá una lista de todas las cámaras conectadas. En este ejemplo listamos todas las cámaras conectadas y su identificador, descripción, y si es la cámara por defecto o no.
const QList<QCameraDevice> videoDevices = QMediaDevices::videoInputs(); for (const QCameraDevice &device : videoDevices) { out << "ID: " << device.id() << Qt::endl; out << "Description: " << device.description() << Qt::endl; out << "Is default: " << (device.isDefault() ? "Yes" : "No") << Qt::endl; }
QMediaDevices monitoriza los valores por defecto del sistema para cada grupo de dispositivos. Se notificará acerca de cualquier cambio realizado a través de la configuración del sistema. Por ejemplo, si el usuario selecciona una nueva salida de audio por defecto en la configuración del sistema, QMediaDevices actualizará la salida de audio por defecto en consecuencia y emitirá una señal. Si el sistema no proporciona un valor predeterminado para una cámara o una entrada de audio, QMediaDevices seleccionará el primer dispositivo de la lista como el dispositivo predeterminado.
Aunque utilizar los dispositivos de entrada y salida por defecto suele ser suficiente para reproducir o grabar multimedia, a menudo es necesario seleccionar explícitamente el dispositivo que se va a utilizar.
QMediaDevices es un objeto singleton y todos los getters son thread-safe.
Nota: En la plataforma WebAssembly, debido a su naturaleza asíncrona, las listas de dispositivos sólo estarán disponibles tras las notificaciones audioInputsChanged, audioOutputsChanded, o videoInputsChanged.
Documentación de propiedades
[read-only] audioInputs : QList<QAudioDevice>
Devuelve una lista de los dispositivos de entrada de audio disponibles en el sistema.
Estos dispositivos suelen ser micrófonos. Los dispositivos pueden estar incorporados o conectados a través de, por ejemplo, USB o Bluetooth.
Funciones de acceso:
| QList<QAudioDevice> | audioInputs() |
Notificador de señal:
| void | audioInputsChanged() |
[read-only] audioOutputs : QList<QAudioDevice>
Devuelve una lista de los dispositivos de salida de audio disponibles en el sistema.
Estos dispositivos suelen ser altavoces o auriculares. Los dispositivos pueden estar integrados o conectados a través de, por ejemplo, USB o Bluetooth.
Funciones de acceso:
| QList<QAudioDevice> | audioOutputs() |
Notificador de señal:
| void | audioOutputsChanged() |
[read-only] defaultAudioInput : QAudioDevice
Devuelve el dispositivo de entrada de audio por defecto.
El dispositivo predeterminado puede cambiar durante el tiempo de ejecución de la aplicación. En este caso se emite la señal audioInputsChanged().
Funciones de acceso:
| QAudioDevice | defaultAudioInput() |
Señal de notificador:
| void | audioInputsChanged() |
[read-only] defaultAudioOutput : QAudioDevice
Devuelve el dispositivo de salida de audio por defecto.
El dispositivo predeterminado puede cambiar durante el tiempo de ejecución de la aplicación. En este caso se emite la señal audioOutputsChanged().
Funciones de acceso:
| QAudioDevice | defaultAudioOutput() |
Señal de notificador:
| void | audioOutputsChanged() |
[read-only] defaultVideoInput : QCameraDevice
Devuelve la cámara por defecto del sistema.
Nota: El objeto devuelto debe ser comprobado utilizando isNull() antes de ser utilizado, en caso de que no haya ninguna cámara por defecto o ninguna cámara en absoluto.
El dispositivo por defecto puede cambiar durante el tiempo de ejecución de la aplicación. En ese caso se emite la señal videoInputsChanged().
Funciones de acceso:
| QCameraDevice | defaultVideoInput() |
Señal de notificador:
| void | videoInputsChanged() |
Véase también videoInputs().
[read-only] videoInputs : QList<QCameraDevice>
Devuelve una lista de las cámaras disponibles en el sistema.
Funciones de acceso:
| QList<QCameraDevice> | videoInputs() |
Notificador de señal:
| void | videoInputsChanged() |
© 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.