Exemplo n.º 1
0
class MainForm (QtGui.QMainWindow):
	def __init__ (self, parent = None):
		super(MainForm, self).__init__(parent)

		self.player = MediaPlayer()

		self.ui = Ui_PlayerControl()
		self.ui.setupUi(self)
		self.ui.btnPlay.clicked.connect(self.player.play)
		self.ui.btnStop.clicked.connect(self.player.stop)
		self.ui.btnPrev.clicked.connect(self.player.prev)
		self.ui.btnNext.clicked.connect(self.player.next)

		self.sliderScale = 1000
		self.ui.sliderTime.setRange(0, self.sliderScale)
		self.ui.sliderTime.setValue(0)
		self.ui.sliderTime.sliderReleased.connect(self.onSliderReleased)

		self.ui.editTitle.setPlainText(self.player.getTitle())

		self.updateTimer = QtCore.QTimer()
		updatesPerSecond = 1
		self.updateTimer.setInterval(1000 / updatesPerSecond)
		self.updateTimer.timeout.connect(self.onTimer)
		self.updateTimer.start()

	def onTimer (self):
		if self.ui.sliderTime.isSliderDown():
			return

		self.ui.editTitle.setPlainText(self.player.getTitle())

		pos = 0
		if not self.player.isStopped():
			timeLeft = self.player.getTimeRemaining()
			timeTotal = self.player.getTimeTotal()
			if timeTotal != 0:
				pos = 1 - timeLeft * 1.0 / timeTotal
		self.ui.sliderTime.setSliderPosition(pos * self.sliderScale)

	def onSliderReleased (self):
		pos = self.ui.sliderTime.sliderPosition() * 1.0 / self.sliderScale
		self.player.seek(pos * self.player.getTimeTotal())
Exemplo n.º 2
0
	def __init__ (self, parent = None):
		super(MainForm, self).__init__(parent)

		self.player = MediaPlayer()

		self.ui = Ui_PlayerControl()
		self.ui.setupUi(self)
		self.ui.btnPlay.clicked.connect(self.player.play)
		self.ui.btnStop.clicked.connect(self.player.stop)
		self.ui.btnPrev.clicked.connect(self.player.prev)
		self.ui.btnNext.clicked.connect(self.player.next)

		self.sliderScale = 1000
		self.ui.sliderTime.setRange(0, self.sliderScale)
		self.ui.sliderTime.setValue(0)
		self.ui.sliderTime.sliderReleased.connect(self.onSliderReleased)

		self.ui.editTitle.setPlainText(self.player.getTitle())

		self.updateTimer = QtCore.QTimer()
		updatesPerSecond = 1
		self.updateTimer.setInterval(1000 / updatesPerSecond)
		self.updateTimer.timeout.connect(self.onTimer)
		self.updateTimer.start()