QMediaService Class

The QMediaService class provides a common base class for media service implementations. More...

Header: #include <QMediaService>
qmake: QT += multimedia
Inherits: QObject

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 ~QMediaService()
virtual void releaseControl(QMediaControl *control) = 0
virtual QMediaControl *requestControl(const char *interface) = 0
T requestControl()

Protected Functions

QMediaService(QObject *parent)

Detailed Description

Media services provide implementations of the functionality promised by media objects, and allow multiple providers to implement a QMediaObject.

To provide the functionality of a QMediaObject media services implement QMediaControl interfaces. Services typically implement one core media control which provides the core feature of a media object, and some number of additional controls which provide either optional features of the media object, or features of a secondary media object or peripheral object.

A pointer to media service's QMediaControl implementation can be obtained by passing the control's interface name to the requestControl() function.

QMediaPlayerControl *control = qobject_cast<QMediaPlayerControl *>(
        mediaService->requestControl("org.qt-project.qt.mediaplayercontrol/5.0"));

Media objects can use services loaded dynamically from plug-ins or implemented statically within an applications. Plug-in based services should also implement the QMediaServiceProviderPlugin interface. Static services should implement the QMediaServiceProvider interface. In general, implementing a QMediaService is outside of the scope of this documentation and support on the relevant mailing lists or IRC channels should be sought.

See also QMediaObject and QMediaControl.

Member Function Documentation

[protected] QMediaService::QMediaService(QObject *parent)

Construct a media service with the given parent. This class is meant as a base class for Multimedia services so this constructor is protected.

[virtual] QMediaService::~QMediaService()

Destroys a media service.

[pure virtual] void QMediaService::releaseControl(QMediaControl *control)

Releases a control back to the service.

[pure virtual] QMediaControl *QMediaService::requestControl(const char *interface)

Returns a pointer to the media control implementing interface.

If the service does not implement the control, or if it is unavailable a null pointer is returned instead.

Controls must be returned to the service when no longer needed using the releaseControl() function.

template <typename T> T QMediaService::requestControl()

Returns a pointer to the media control of type T implemented by a media service.

If the service does not implement the control, or if it is unavailable a null pointer is returned instead.

Controls must be returned to the service when no longer needed using the releaseControl() function.

© 2023 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.