QIviMediaPlayerBackendInterface 类

QIviMediaPlayerBackendInterface 定义了QIviMediaPlayer功能类的后端接口。更多...

头文件 #include <QIviMediaPlayerBackendInterface>
qmakeQT += ivimedia
继承 QIviFeatureInterface

公共函数

QIviMediaPlayerBackendInterface(QObject *parent = nullptr)
virtual voidfetchData(const QUuid &identifier, int start, int count) = 0
virtual voidinsert(int index, const QVariant &item) = 0
virtual voidmove(int currentIndex, int newIndex) = 0
virtual voidnext() = 0
virtual voidpause() = 0
virtual voidplay() = 0
virtual voidprevious() = 0
virtual voidremove(int index) = 0
virtual voidseek(qint64 offset) = 0
virtual voidsetCurrentIndex(int currentIndex) = 0
virtual voidsetMuted(bool muted) = 0
virtual voidsetPlayMode(QIviMediaPlayer::PlayMode playMode) = 0
virtual voidsetPosition(qint64 position) = 0
virtual voidsetVolume(int volume) = 0
virtual voidstop() = 0

信号

voidcanReportCountChanged(bool canReportCount = false)
voidcountChanged(int newLength = -1)
voidcurrentIndexChanged(int currentIndex = -1)
voidcurrentTrackChanged(const QVariant &currentTrack = QVariant())
voiddataChanged(const QList<QVariant> &data, int start, int count)
voiddataFetched(const QUuid &identifier, const QList<QVariant> &data, int start, bool moreAvailable)
voiddurationChanged(qint64 duration = -1)
voidmutedChanged(bool muted = false)
voidplayModeChanged(QIviMediaPlayer::PlayMode playMode = QIviMediaPlayer::Normal)
voidplayStateChanged(QIviMediaPlayer::PlayState playState = QIviMediaPlayer::Stopped)
voidpositionChanged(qint64 position = -1)
voidvolumeChanged(int volume = -1)

详细描述

QIviMediaPlayerBackendInterface 是由QIviMediaPlayer使用的接口

该接口由QIviMediaPlayer对象发现,并将其连接并设置。

<功能完整的后端示例>

成员函数文档

QIviMediaPlayerBackendInterface::QIviMediaPlayerBackendInterface(QObject *parent = nullptr)

构建后端接口。

父对象被发送到QObject构造函数。

[信号]void QIviMediaPlayerBackendInterface::canReportCountChanged(bool canReportCount = false)

如果后端可以返回针对特定请求的项目最终数量(canReportCount),则发出此信号。这使得支持QIviPlayQueue::DataChanged加载类型成为可能。然后可以通过发出countChanged信号来返回项目数量。

另请参阅countChanged

[信号]void QIviMediaPlayerBackendInterface::countChanged(int newLength = -1)

当后端知道播放队列的新大小时,发出此信号。新项目数量作为newLength返回。

在发出dataFetched()信号返回数据之前预期发出此信号。

另请参阅fetchData()和dataFetched

[信号]void QIviMediaPlayerBackendInterface::currentIndexChanged(int currentIndex = -1)

在播放队列中当前播放的可播放项目更改时发出。新的当前可播放项目的索引将作为currentIndex传递。

[信号]void QIviMediaPlayerBackendInterface::currentTrackChanged(const QVariant &currentTrack = QVariant())

在当前播放的可播放项目更改时发出。新的可播放项目将通过currentTrack传递。

[信号]void QIviMediaPlayerBackendInterface::dataChanged(const QList<QVariant> &data, int start, int count)

每当播放队列更改时(例如插入、删除或移动操作),都会发出此信号。data参数包含将替换从start开始的字节数据。

如果data为空,则将删除标识范围为startcount的行。如果count为0,则将在start处插入data

要插入新项目,data中包含项目,而start用于指示插入的位置,count参数需要为0,因为我们不想替换现有数据。

QList<ExampleItem> list;
ExampleItem item = ExampleItem();
list.insert(index, item);
QVariantList items = { QVariant::fromValue(item) };
emit dataChanged(items, index, 0);

删除项目与插入项目非常类似,start用于指示要删除的项目,而count用于指示要删除多少项。

list.removeAt(index);
emit dataChanged(QVariantList(), index, 1);

另请参阅insert()、remove()和move()。

[信号]void QIviMediaPlayerBackendInterface::dataFetched(const QUuid &identifier, const QList<QVariant> &data, int start, bool moreAvailable)

此信号在调用fetchData()时发出,并将请求的数据返回到由identifier标识的QIviPlayQueue实例。参数start表示数据起始的索引,moreAvailable表示是否还有更多数据。要检索此数据,请使用新的fetchData()调用。

另请参阅fetchData()和dataFetched()。

[信号]void QIviMediaPlayerBackendInterface::durationChanged(qint64 duration = -1)

在当前播放可播放项目的持续时间改变时发出。新的持续时间将以毫秒为单位作为duration传递。

[信号]void QIviMediaPlayerBackendInterface::mutedChanged(bool muted = false)

在播放器的静音状态改变时发出。当muted设置为true时,播放器处于静音状态。

[信号]void QIviMediaPlayerBackendInterface::playModeChanged(QIviMediaPlayer::PlayMode playMode = QIviMediaPlayer::Normal)

在播放模式改变时发出。新的播放模式将通过playMode传递。

[信号]void QIviMediaPlayerBackendInterface::playStateChanged(QIviMediaPlayer::PlayState playState = QIviMediaPlayer::Stopped)

在播放状态改变时发出。新的播放状态将通过playState传递。

[信号]void QIviMediaPlayerBackendInterface::positionChanged(qint64 position = -1)

在当前播放的可播放项目的位置改变时发出。新的位置将以毫秒为单位作为position传递。

[信号]void QIviMediaPlayerBackendInterface::volumeChanged(int volume = -1)

在播放器的音量改变时发出。新的播放器音量将通过volume传递。

[纯虚函数]void QIviMediaPlayerBackendInterface::fetchData(const QUuid &identifier, int start, int count)

QIviPlayQueue需要检索新的可播放项目时,调用此函数。

startcount参数定义了要检索的数据范围。该方法在数据准备就绪时预期发出dataFetched()信号。使用identifier来识别调用的QIviPlayQueue实例。

另请参阅dataFetched

[纯虚函数]void QIviMediaPlayerBackendInterface::insert(int index, const QVariant &item)

将标识为item的可播放项添加到播放队列的index位置。

另请参阅dataChanged

[纯虚函数]void QIviMediaPlayerBackendInterface::move(int currentIndex, int newIndex)

将播放队列中位置为 currentIndex 的可播放项移动到新位置 newIndex

另请参阅dataChanged

[纯虚函数] void QIviMediaPlayerBackendInterface::next()

跳转到下一个可播放项。

[纯虚函数] void QIviMediaPlayerBackendInterface::pause()

暂停当前可播放项的播放。

参见 play() 和 stop

[纯虚函数] void QIviMediaPlayerBackendInterface::play()

开始播放当前可播放项。

参见 pause() 和 stop

[纯虚函数] void QIviMediaPlayerBackendInterface::previous()

跳转到上一个可播放项。

[纯虚函数] void QIviMediaPlayerBackendInterface::remove(int index)

从播放队列中移除位置为 index 的可播放项。

另请参阅dataChanged

[纯虚函数] void QIviMediaPlayerBackendInterface::seek(qint64 offset)

使用 offset ms 在当前可播放项中搜索。

偏移量可以是正数或负数,用来向前或向后搜索。成功的搜索会导致位置属性的变化。

[纯虚函数] void QIviMediaPlayerBackendInterface::setCurrentIndex(int .currentIndex)

将播放队列的 currentIndex 设置为指定索引。如果传递了有效的索引,则函数应更新当前可播放项并发出相应的更改信号

参见 currentIndexChangedcurrentTrackChangeddurationChanged

[纯虚函数] void QIviMediaPlayerBackendInterface::setMuted(bool muted)

muted 设置为 true 时,播放器将被静音,否则取消静音。

参见 mutedChanged

[纯虚函数] void QIviMediaPlayerBackendInterface::setPlayMode(QIviMediaPlayer::PlayMode playMode)

playMode 设置为播放器的新的播放模式。如果传递了有效的播放模式,则函数应发出相应的更改信号。

参见 playModeChanged

[纯虚函数] void QIviMediaPlayerBackendInterface::setPosition(qint64 position)

设置当前播放项的 position。如果传递了有效的位置,则函数应发出相应的更改信号

参见 positionChanged

[纯虚函数] void QIviMediaPlayerBackendInterface::setVolume(int volume)

设置当前播放器的 volume。值需要在 0 到 100 之间。

另请参阅 volumeChanged.

[纯虚函数] void QIviMediaPlayerBackendInterface::stop()

停止播放当前可播放项目。

另请参阅 play() 和 stop()。

©2020 Qt公司有限公司。本文档中的文档贡献力量是各自所有者的版权。本文档是根据自由软件基金会发布的 GNU自由文档许可证版本1.3 的条款提供使用的。Qt及其相关标志是芬兰Qt公司和/或世界其他国家的注册商标。所有其他商标均为其各自所有者的财产。