我正在尝试使用QMediaPlayer和QMediaPlayList在媒体播放器中实现循环机制。使用这些播放模式时:
QMediaPlayList::Sequential
QMediaPlayList::Loop
QMediaPlayList::Random
它能按我预期的那样工作,这意味着下一个或随机的媒体开始播放。
但是对于下面的两个
QMediaPlayList::CurrentItemOnce
QMediaPlayList::CurrentItemInLoop
不是。
问题在于,使用这两种模式时,每当我单击“下一步”时
按钮,该按钮应通过调用QMediaPlayList::next
来更改当前播放的下一媒体,但实际上并没有任何改变。
预先感谢
答案 0 :(得分:0)
根据nextIndex(在使用QMediaPlaylist::next()
时可能会调用它的文档),返回的索引值将取决于播放列表的大小,播放列表中的当前位置以及播放模式。
在internals of Qt中进一步实施之后,您可以看到QMediaPlaylist::CurrentItemOnce
的下一个索引是-1,而QMediaPlaylist::CurrentItemInLoop
的下一个索引是当前索引。
因此行为是一致的。
答案 1 :(得分:0)
看看next的正式文档,它由nextIndex调用,我认为这正是正在发生的情况。
因此,如果要转到下一个项目,请更改播放模式,然后再调用下一个并恢复原始播放模式。
overflow-x: hidden;
scrollbar-width: none;
有关血腥细节,请参见here