QMediaGaplessPlaybackControl Class

The QMediaGaplessPlaybackControl class provides access to the gapless playback related control of a QMediaService. More...

Header: #include <QMediaGaplessPlaybackControl>
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.

Public Functions

virtual ~QMediaGaplessPlaybackControl()
virtual qreal crossfadeTime() const = 0
virtual bool isCrossfadeSupported() const = 0
virtual QMediaContent nextMedia() const = 0
virtual void setCrossfadeTime(qreal crossfadeTime) = 0
virtual void setNextMedia(const QMediaContent &media) = 0

Signals

void advancedToNextMedia()
void crossfadeTimeChanged(qreal crossfadeTime)
void nextMediaChanged(const QMediaContent &media)

Protected Functions

QMediaGaplessPlaybackControl(QObject *parent = nullptr)

Macros

Detailed Description

If a QMediaService supports gapless playback it will implement QMediaGaplessPlaybackControl. This control provides a means to set the next media or crossfade time for smooth transitions between tracks.

The functionality provided by this control is exposed to application code through the QMediaPlayer class.

The interface name of QMediaGaplessPlaybackControl is org.qt-project.qt.mediagaplessplaybackcontrol/5.0 as defined in QMediaGaplessPlaybackControl_iid.

See also QMediaService::requestControl() and QMediaPlayer.

Member Function Documentation

[protected] QMediaGaplessPlaybackControl::QMediaGaplessPlaybackControl(QObject *parent = nullptr)

Constructs a new gapless playback control with the given parent.

[signal] void QMediaGaplessPlaybackControl::advancedToNextMedia()

Signals when the player advances to the next media (the content of next media will be cleared).

See also nextMedia().

[signal] void QMediaGaplessPlaybackControl::crossfadeTimeChanged(qreal crossfadeTime)

Signals that the crossfadeTime has changed.

See also crossfadeTime().

[signal] void QMediaGaplessPlaybackControl::nextMediaChanged(const QMediaContent &media)

Signals that the next media has changed (either explicitly via setNextMedia() or when the player clears the next media while advancing to it).

See also nextMedia().

[virtual] QMediaGaplessPlaybackControl::~QMediaGaplessPlaybackControl()

Destroys a gapless playback control.

[pure virtual] qreal QMediaGaplessPlaybackControl::crossfadeTime() const

Returns current crossfade time in seconds.

See also setCrossfadeTime().

[pure virtual] bool QMediaGaplessPlaybackControl::isCrossfadeSupported() const

Indicates whether crossfading is supported or not. If crossfading is not supported, setCrossfadeTime() will be ignored and crossfadeTime() will always return 0.

[pure virtual] QMediaContent QMediaGaplessPlaybackControl::nextMedia() const

Returns the content of the next media

See also setNextMedia().

[pure virtual] void QMediaGaplessPlaybackControl::setCrossfadeTime(qreal crossfadeTime)

Sets the crossfadeTime in seconds for smooth transition.

Positive value means how much time it will take for the next media to transit from silent to full volume and vice versa for current one. So both current and the next one will be playing during this period of time.

A crossfade time of zero or negative will result in gapless playback (suitable for some continuous media).

See also crossfadeTime().

[pure virtual] void QMediaGaplessPlaybackControl::setNextMedia(const QMediaContent &media)

Sets the next media for smooth transition.

See also nextMedia().

Macro Documentation

QMediaGaplessPlaybackControl_iid

org.qt-project.qt.mediagaplessplaybackcontrol/5.0

Defines the interface name of the QMediaGaplessPlaybackControl class.

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