簡體   English   中英

在位置X停止從QMediaPlayer播放視頻

[英]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信號(基於QMediaPlayernotifyInterval發出),類似

  connect(player, SIGNAL(positionChanged(qint64)), this, SLOT(checkPosition());

假設this是接收者,並且playerinput的作用域都已確定范圍,以使它們可用於checkPosition()插槽。 checkPosition()然后看起來像

  checkPosition() {
      if (player.position() > input()) {
          player.stop();     // Or player.pause();
      }
  }

當然,您也可以將playerinput傳遞到checkPosition()插槽,但是為了簡單起見,我忽略了這一點。 希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM