08-05-2017, 07:18 PM
Hola Francisco!
Antes que nada gracias por la pronta respuesta!
Estuve probando la programacion que me pasaste y la función finished funciona perfecto! La otra función (from_milliseconds) no pude hacerla funcionar, me devuelve el siguiente error:
Seguramente tenga que ver con el scope de esa función no? sinceramente no termino de entender el scope de python3 pero bueno con el tiempo comprenderé la sintaxys, teneme paciencia.
Por otro lado por lo que vi seguramente sea necesario un bucle o un for in o un setInterval nose, para poder recibir constantemente el tiempo transcurrido no?
Por si te es de ayuda aca dejo mi código, le eh sacado lo que no necesitaba y agregue lo que me pasaste:
Gracias de nuevo!
Antes que nada gracias por la pronta respuesta!
Estuve probando la programacion que me pasaste y la función finished funciona perfecto! La otra función (from_milliseconds) no pude hacerla funcionar, me devuelve el siguiente error:
Código:
Traceback (most recent call last):
File "/home/pi/Desktop/Nueva Programacion/video2.py", line 84, in <module>
window = MainWindow()
File "/home/pi/Desktop/Nueva Programacion/video2.py", line 63, in __init__
print(from_milliseconds(self.video_player.currentTime()))
NameError: name 'from_milliseconds' is not defined
Seguramente tenga que ver con el scope de esa función no? sinceramente no termino de entender el scope de python3 pero bueno con el tiempo comprenderé la sintaxys, teneme paciencia.
Por otro lado por lo que vi seguramente sea necesario un bucle o un for in o un setInterval nose, para poder recibir constantemente el tiempo transcurrido no?
Por si te es de ayuda aca dejo mi código, le eh sacado lo que no necesitaba y agregue lo que me pasaste:
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
# 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.mediaObject().finished.connect(self.finished)
print(from_milliseconds(self.video_player.currentTime()))
print(from_milliseconds(self.video_player.totalTime()))
#PLAY TO VIDEO
#self.video_player.play()
#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)
def finished(self):
print("terminado.")
print(self.video_player.totalTime())
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
#window.showFullScreen()
window.show()
sys.exit(app.exec_())
Gracias de nuevo!