Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Consulta sobre: Reproductor de video simple con PyQt 4 y 5
#6
Hola Francisco!

Nuevamente muchas gracias!!!
No puedo entender como sabes que la función tick se llama de esa forma, sinceramente asombrado!

Tengo un problema que no encontre solucion, la funcion que me pasaste para pasar de milesimas a segundos y horas me muestra el siguiente resultado:

Cita:0.0027580555555555557:0.16548333333333334:9.929:

Le estoy errando en algo?

Así quedo el código!
Código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
#       videoplayer.py
#
#       Copyright 2016 Recursos Python - www.recursospython.com
#
#


import sys

from PyQt4.QtCore import QEvent
from PyQt4.QtGui import (QApplication, QHBoxLayout, QMainWindow, QWidget, QPushButton, QVBoxLayout)
from PyQt4.phonon import Phonon

from PyQt4.QtCore import *
from PyQt4.QtGui import *

from PyQt4 import phonon
from PyQt4 import QtGui
from PyQt4 import QtCore

import threading

# Ruta del archivo.
#VIDEO_PATH = "video.wmv"
VIDEO_PATH = "1.avi"


class MainWindow(QMainWindow):
       
   def __init__(self):
       QMainWindow.__init__(self)
       
       # Controles principales para organizar la ventana.
       self.widget = QWidget(self)
       self.layout = QVBoxLayout()
       self.bottom_layout = QHBoxLayout()
       
       # Control de reproducción de video de Qt.
       self.video_player = Phonon.VideoPlayer(Phonon.VideoCategory, self)
       

       # Acomodar controles en la pantalla.
       self.layout.addWidget(self.video_player)

       
       # Se utiliza installEventFilter() para capturar eventos
       # del mouse en el control de video que utiliza internamente
       # la clase Phonon.VideoPlayer.
       self.video_player.videoWidget().installEventFilter(self)
       
       # Personalizar la ventana.
       self.setWindowTitle("::Reproductor de video::")
       self.resize(400, 200)
       self.layout.setMargin(0)#borde del video
       self.bottom_layout.setMargin(0)
       self.widget.setLayout(self.layout)
       self.setCentralWidget(self.widget)

       # Reproducir el archivo.
       self.video_player.play(Phonon.MediaSource(VIDEO_PATH))
       #self.video_player.seek(12000)

       self.video_player.mediaObject().setTickInterval(1000)
       self.video_player.mediaObject().tick.connect(self.update_time)
       self.video_player.mediaObject().finished.connect(self.finished)
       
       #print(from_milliseconds(self.video_player.currentTime()))
       #print(from_milliseconds(self.video_player.totalTime()))
       #self.ca = self.video_player.currentTime()
       #setInterval(self,foo,1)
       #setInterval(foo,1)

   def update_time(self):
       print(self.video_player.currentTime())
       print(from_milliseconds(self.video_player.currentTime()))
       print(from_milliseconds(self.video_player.totalTime()))
       
       #PLAY TO VIDEO
       #self.video_player.play()
   def finished(self):
       print("terminado.")
       #print(self.video_player.totalTime())
       self.video_player.play()
       self.video_player.seek(3000)
   
#Funcion para contar tiempo video
def from_milliseconds(ms):
   x = ms/1000
   seconds = x%60
   x /= 60
   minutes = x%60
   x /= 60
   hours = x%24
   return "{:02}:{:02}:{:02}:".format(hours, minutes, seconds)
   

if __name__ == "__main__":
   app = QApplication(sys.argv)
   window = MainWindow()
   #window.showFullScreen()
   window.show()
   sys.exit(app.exec_())

Por otro lado, estas ultimas lineas:
Código:
if __name__ == "__main__":
   app = QApplication(sys.argv)
   window = MainWindow()
   #window.showFullScreen()
   window.show()
   sys.exit(app.exec_())

Son el final de una clase o q? porque no puedo poner codigo debajo, quise poner una nueva funcion pero deja de funcionar la parte de arriba?

Usaste alguna vez OMXPlayer?

Muchas gracias!
Responder


Mensajes en este tema
RE: Consulta sobre: Reproductor de video simple con PyQt 4 y 5 - por luquio2008 - 10-05-2017, 10:42 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)