QIviMediaPlayerBackendInterface 类
QIviMediaPlayerBackendInterface 定义了QIviMediaPlayer功能类的后端接口。更多...
头文件 | #include <QIviMediaPlayerBackendInterface> |
qmake | QT += ivimedia |
继承 | QIviFeatureInterface |
公共函数
QIviMediaPlayerBackendInterface(QObject *parent = nullptr) | |
virtual void | fetchData(const QUuid &identifier, int start, int count) = 0 |
virtual void | insert(int index, const QVariant &item) = 0 |
virtual void | move(int currentIndex, int newIndex) = 0 |
virtual void | next() = 0 |
virtual void | pause() = 0 |
virtual void | play() = 0 |
virtual void | previous() = 0 |
virtual void | remove(int index) = 0 |
virtual void | seek(qint64 offset) = 0 |
virtual void | setCurrentIndex(int currentIndex) = 0 |
virtual void | setMuted(bool muted) = 0 |
virtual void | setPlayMode(QIviMediaPlayer::PlayMode playMode) = 0 |
virtual void | setPosition(qint64 position) = 0 |
virtual void | setVolume(int volume) = 0 |
virtual void | stop() = 0 |
信号
void | canReportCountChanged(bool canReportCount = false) |
void | countChanged(int newLength = -1) |
void | currentIndexChanged(int currentIndex = -1) |
void | currentTrackChanged(const QVariant ¤tTrack = QVariant()) |
void | dataChanged(const QList<QVariant> &data, int start, int count) |
void | dataFetched(const QUuid &identifier, const QList<QVariant> &data, int start, bool moreAvailable) |
void | durationChanged(qint64 duration = -1) |
void | mutedChanged(bool muted = false) |
void | playModeChanged(QIviMediaPlayer::PlayMode playMode = QIviMediaPlayer::Normal) |
void | playStateChanged(QIviMediaPlayer::PlayState playState = QIviMediaPlayer::Stopped) |
void | positionChanged(qint64 position = -1) |
void | volumeChanged(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 ¤tTrack = QVariant())
在当前播放的可播放项目更改时发出。新的可播放项目将通过currentTrack传递。
[信号]
void QIviMediaPlayerBackendInterface::dataChanged(const QList<QVariant> &data, int start, int count)
每当播放队列更改时(例如插入、删除或移动操作),都会发出此信号。data参数包含将替换从start开始的字节数据。
如果data为空,则将删除标识范围为start和count的行。如果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);
[信号]
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需要检索新的可播放项目时,调用此函数。
start和count参数定义了要检索的数据范围。该方法在数据准备就绪时预期发出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()
暂停当前可播放项的播放。
[纯虚函数]
void QIviMediaPlayerBackendInterface::play()
开始播放当前可播放项。
[纯虚函数]
void QIviMediaPlayerBackendInterface::previous()
跳转到上一个可播放项。
[纯虚函数]
void QIviMediaPlayerBackendInterface::remove(int index)
从播放队列中移除位置为 index 的可播放项。
另请参阅dataChanged。
[纯虚函数]
void QIviMediaPlayerBackendInterface::seek(qint64 offset)
使用 offset ms 在当前可播放项中搜索。
偏移量可以是正数或负数,用来向前或向后搜索。成功的搜索会导致位置属性的变化。
[纯虚函数]
void QIviMediaPlayerBackendInterface::setCurrentIndex(int .currentIndex)
将播放队列的 currentIndex 设置为指定索引。如果传递了有效的索引,则函数应更新当前可播放项并发出相应的更改信号
参见 currentIndexChanged,currentTrackChanged 和 durationChanged。
[纯虚函数]
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公司和/或世界其他国家的注册商标。所有其他商标均为其各自所有者的财产。