QMediaControl Class
The QMediaControl class provides a base interface for media service controls. More...
This class is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.
Public Functions
virtual | ~QMediaControl() |
Protected Functions
QMediaControl(QObject *parent = nullptr) |
Macros
Q_MEDIA_DECLARE_CONTROL(Class, IId) |
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<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
[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->requestControl<QMediaPlayerControl *>();
See also QMediaService::requestControl().