- Qt 5.15
- Qt Multimedia
- C++ Classes
- QVideoDeviceSelectorControl
- Qt 5.15.19 Reference Documentation

# QVideoDeviceSelectorControl Class

The QVideoDeviceSelectorControl class provides an video device selector media control. More...

Header: | #include <QVideoDeviceSelectorControl>
qmake: | QT += multimedia
Inherits: | QMediaControl

This class is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.

- List of all members, including inherited members

## Public Functions

virtual | ~QVideoDeviceSelectorControl()
virtual int | defaultDevice() const = 0
virtual int | deviceCount() const = 0
virtual QString | deviceDescription(int index) const = 0
virtual QString | deviceName(int index) const = 0
virtual int | selectedDevice() const = 0

## Public Slots

virtual void | setSelectedDevice(int index) = 0

## Signals

void | devicesChanged()
void | selectedDeviceChanged(const QString &name)
void | selectedDeviceChanged(int index)

## Protected Functions

| QVideoDeviceSelectorControl(QObject *parent = nullptr)

## Macros

| QCameraInfoControl_iid
| QVideoDeviceSelectorControl_iid

## Detailed Description

The QVideoDeviceSelectorControl class provides descriptions of the video devices available on a system and allows one to be selected as the endpoint of a media service.

The interface name of QVideoDeviceSelectorControl is `org.qt-project.qt.videodeviceselectorcontrol/5.0` as defined in QVideoDeviceSelectorControl_iid.

## Member Function Documentation

### `[protected]` QVideoDeviceSelectorControl::QVideoDeviceSelectorControl(QObject *parent = nullptr)

Constructs a video device selector control with the given parent.

### `[signal]` void QVideoDeviceSelectorControl::devicesChanged()

Signals that the list of available video devices has changed.

### `[signal]` void QVideoDeviceSelectorControl::selectedDeviceChanged(const QString &name)

Signals that the selected video device name has changed.

Note: Signal selectedDeviceChanged is overloaded in this class. To connect to this signal by using the function pointer syntax, Qt provides a convenient helper for obtaining the function pointer as shown in this example:

     connect(videoDeviceSelectorControl, QOverload<const QString &>::of(&QVideoDeviceSelectorControl::selectedDeviceChanged),
         [=](const QString &name){ /* ... */ });

### `[signal]` void QVideoDeviceSelectorControl::selectedDeviceChanged(int index)

Signals that the selected video device index has changed.

Note: Signal selectedDeviceChanged is overloaded in this class. To connect to this signal by using the function pointer syntax, Qt provides a convenient helper for obtaining the function pointer as shown in this example:

     connect(videoDeviceSelectorControl, QOverload<int>::of(&QVideoDeviceSelectorControl::selectedDeviceChanged),
         [=](int index){ /* ... */ });

### `[pure virtual slot]` void QVideoDeviceSelectorControl::setSelectedDevice(int index)

Sets the selected video device index.

See also selectedDevice().

### `[virtual]` QVideoDeviceSelectorControl::~QVideoDeviceSelectorControl()

Destroys a video device selector control.

### `[pure virtual]` int QVideoDeviceSelectorControl::defaultDevice() const

Returns the index of the default video device.

### `[pure virtual]` int QVideoDeviceSelectorControl::deviceCount() const

Returns the number of available video devices;

### `[pure virtual]` QString QVideoDeviceSelectorControl::deviceDescription(int index) const

Returns a description of the video device at index.

### `[pure virtual]` QString QVideoDeviceSelectorControl::deviceName(int index) const

Returns the name of the video device at index.

### `[pure virtual]` int QVideoDeviceSelectorControl::selectedDevice() const

Returns the index of the selected video device.

See also setSelectedDevice().

## Macro Documentation

### QCameraInfoControl_iid

`org.qt-project.qt.camerainfocontrol/5.3`

Defines the interface name of the QCameraInfoControl class.

### QVideoDeviceSelectorControl_iid

`org.qt-project.qt.videodeviceselectorcontrol/5.0`

Defines the interface name of the QVideoDeviceSelectorControl class.