PyQt5:QMediaplayer,QVideowidget播放视频(2)

PyQt5:QMediaplayer-Layout布局,快慢进

1.前言

之前的一篇中说到,实现了播放,列表,进度条,PyQt5:QMediaplayer,QVideowidget播放视频,这次更新了窗口自适应,快进,慢进。

2.布局

采用栅格布局、Qgridlayout,在UI文件上,布局设置为 栅格布局。
代码部分:

	  # VideoWidget 从0行,0列开始,占24行,16列
		self.gridLayout.addWidget(self.mVideoWin,0,0,24,16)
		self.gridLayout.addWidget(self.listWidget,0,16,18,2)
		self.gridLayout.addWidget(self.play,24,0,1,1)
		self.gridLayout.addWidget(self.stop,24,1,1,1)
		self.gridLayout.addWidget(self.Slider,24,2,1,5)
		self.gridLayout.addWidget(self.fastforwad,24,7,1,1)
		self.gridLayout.addWidget(self.jog,24,8,1,1)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

快进,慢进

QMediaPlayer 有一个成员 是 playbackRate:playbackRate : qreal qreal 默认float类型。
播放速率,又来控制快进慢进,正常,不设置的情况默认播放速率为1。我这里设置用按键控制快进慢进,步长为0.2。
代码如下:

按键初始化:

		self.fastforwad = QPushButton(self)
		self.fastforwad.setText("FastForward")
		self.fastforwad.show()
		self.jog = QPushButton(self)
		self.jog.setText("Jog")
		self.jog.show()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

槽函数实现:

	def FastForword(self):
		self.playrate += 0.2
		self.SetPlaybackRate(self.playrate)

	def Jog(self):
		self.playrate -= 0.2
		self.SetPlaybackRate(self.playrate) def SetPlaybackRate(self,val):
		self.mplayer.pause()
		self.mplayer.setPlaybackRate(val)
		self.mplayer.play()
		print("playbackRate:",self.mplayer.playbackRate())

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

播放效果如下:
默认窗口
改变窗口大小

源码

正在上传中,随后更新。

下一篇

最新更新一篇也是相关的最后一篇,涉及到了播放列表,音量调节,设置等等。链接如下:
PyQt5:QMediaplayer,QVideowidget播放视频(3)

文章来源: blog.csdn.net,作者:何其不顾四月天,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/u011218356/article/details/98792556

(完)