QMediaControl Class
The QMediaControl class provides a base interface for media service controls. More...
#include <QMediaControl>
Inherited by: QAudioDecoderControl, QAudioEncoderSettingsControl, QAudioInputSelectorControl, QAudioOutputSelectorControl, QCameraCaptureBufferFormatControl, QCameraCaptureDestinationControl, QCameraControl, QCameraExposureControl, QCameraFeedbackControl, QCameraFlashControl, QCameraFocusControl, QCameraImageCaptureControl, QCameraImageProcessingControl, QCameraLocksControl, QCameraViewfinderSettingsControl, QCameraZoomControl, QImageEncoderControl, QMediaAudioProbeControl, QMediaAvailabilityControl, QMediaContainerControl, QMediaGaplessPlaybackControl, QMediaNetworkAccessControl, QMediaPlayerControl, QMediaRecorderControl, QMediaStreamsControl, QMediaVideoProbeControl, QMetaDataReaderControl, QMetaDataWriterControl, QRadioDataControl, QRadioTunerControl, QVideoDeviceSelectorControl, QVideoEncoderSettingsControl, QVideoRendererControl, QVideoWidgetControl, and QVideoWindowControl.
Public Functions
~QMediaControl() |
Protected Functions
QMediaControl(QObject * parent = 0) |
Macros
Q_MEDIA_DECLARE_CONTROL( Class, IId) |
Detailed Description
The QMediaControl class provides a base interface for media service controls.
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<QMediaPlayerControl *>( mediaService->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->requestControl<QMediaPlayerControl *>();
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 QMediaService and QMediaObject.
Member Function Documentation
QMediaControl::QMediaControl(QObject * parent = 0) [protected]
Constructs a media control with the given parent.
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->requestControl<QMediaPlayerControl *>();
See also QMediaService::requestControl().