[英]Stop Playing a Video from QMediaPlayer at Position X
我是Qt的新手,並且在我的一個GUI項目中使用QMediaPlayer,我想在某個位置X(從Line Edit上的用戶輸入)停止加載的視頻,我該怎么做? 我知道我可以通過設置player-> setPosition(Y)來設置起始位置,其中Y是整數,但是結束位置呢?
一個較小的選擇是使用position()
返回當前位置的qint64
-如果調用play()
方法為您QMediaPlayer
然后使用類似
while (player.position() < input) {}
player.stop(); // Or player.pause();
它將等待直到到達input
位置。 但是這種方法的缺點是while
循環阻塞while
並且不知道目標應用程序是否合適。 最好使用QMediaPlayer::positionChanged
信號(基於QMediaPlayer
的notifyInterval
發出),類似
connect(player, SIGNAL(positionChanged(qint64)), this, SLOT(checkPosition());
假設this
是接收者,並且player
和input
的作用域都已確定范圍,以使它們可用於checkPosition()
插槽。 checkPosition()
然后看起來像
checkPosition() {
if (player.position() > input()) {
player.stop(); // Or player.pause();
}
}
當然,您也可以將player
和input
傳遞到checkPosition()
插槽,但是為了簡單起見,我忽略了這一點。 希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.