QMediaControl Class▲
-
Header: QMediaControl
-
qmake: QT += multimedia
-
Inherits: QObject
-
Inherited By: QAudioDecoderControl, QAudioEncoderSettingsControl, QAudioInputSelectorControl, QAudioOutputSelectorControl, QAudioRoleControl, QCameraCaptureBufferFormatControl, QCameraCaptureDestinationControl, QCameraControl, QCameraExposureControl, QCameraFeedbackControl, QCameraFlashControl, QCameraFocusControl, QCameraImageCaptureControl, QCameraImageProcessingControl, QCameraInfoControl, QCameraLocksControl, QCameraViewfinderSettingsControl, QCameraViewfinderSettingsControl2, QCameraZoomControl, QCustomAudioRoleControl, QImageEncoderControl, QMediaAudioProbeControl, QMediaAvailabilityControl, QMediaContainerControl, QMediaGaplessPlaybackControl, QMediaNetworkAccessControl, QMediaPlayerControl, QMediaRecorderControl, QMediaStreamsControl, QMediaVideoProbeControl, QMetaDataReaderControl, QMetaDataWriterControl, QRadioDataControl, QRadioTunerControl, QVideoDeviceSelectorControl, QVideoEncoderSettingsControl, QVideoRendererControl, QVideoWidgetControl, and QVideoWindowControl
-
Group: QMediaControl is part of multimedia, multimedia_control, multimedia_core
Detailed Description▲
Media controls provide an interface to individual features provided by a media service. Most services implement a principal control which exposes the core functionality of the service and a number of optional controls which expose any additional functionality.
A pointer to a control implemented by a media service can be obtained using the QMediaService::requestControl() member of QMediaService. If the service doesn't implement a control it will instead return a null pointer.
QMediaPlayerControl *
control =
qobject_cast&
lt;QMediaPlayerControl *&
gt;(
mediaService-&
gt;requestControl("org.qt-project.qt.mediaplayercontrol/5.0"
));
Alternatively if the IId of the control has been declared using Q_MEDIA_DECLARE_CONTROL the template version of QMediaService::requestControl() can be used to request the service without explicitly passing the IId or using qobject_cast().
QMediaPlayerControl *
control =
mediaService-&
gt;requestControl&
lt;QMediaPlayerControl *&
gt;();
Most application code will not interface directly with a media service's controls, instead the QMediaObject which owns the service acts as an intermediary between one or more controls and the application.
See Also▲
See also QMediaService, QMediaObject
Member Function Documentation▲
[explicit protected] QMediaControl::QMediaControl(QObject *parent = nullptr)▲
Constructs a media control with the given parent.
[virtual] QMediaControl::~QMediaControl()▲
Destroys a media control.
Macro Documentation▲
Q_MEDIA_DECLARE_CONTROL(Class, IId)▲
The Q_MEDIA_DECLARE_CONTROL macro declares an IId for a Class that inherits from QMediaControl.
Declaring an IId for a QMediaControl allows an instance of that control to be requested from QMediaService::requestControl() without explicitly passing the IId.
QMediaPlayerControl *
control =
mediaService-&
gt;requestControl&
lt;QMediaPlayerControl *&
gt;();
See Also▲
See also QMediaService::requestControl()