Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Consulta sobre: Reproductor de video simple con PyQt 4 y 5
#2
Hola, ¿cómo estás?

Generalmente cuando trabajes con PyQt o PySide (ambas implementaciones de Qt para Python) te encontrarás con que la documentación es bastante limitada. Es preferible siempre remitirse a la documentación de Qt, por más que tenga el formato de C++, los nombres de las funciones en la mayoría de los casos se mantienen y la información es más completa.

Respecto a tu problema, como bien indicaste puedes utilizar la funciones currentTime y totalTime para obtener el tiempo transcurrido y el tiempo total. Por ejemplo:

  1. print(self.video_player.currentTime())  # Tiempo transcurrido.
  2. print(self.video_player.totalTime())  # Tiempo total.


Ambas funciones retornan milisegundos. Para convertirlo a una representación legible, como hh:mm:ss, puedes usar la siguiente función.

  1. def from_milliseconds(ms):
  2.    x = ms / 1000
  3.    seconds = x % 60
  4.    x /= 60
  5.    minutes = x % 60
  6.    x /= 60
  7.    hours = x % 24
  8.    return "{:02}:{:02}:{:02}".format(hours, minutes, seconds)


De modo que el código anterior quedaría así:

  1. print(from_milliseconds(self.video_player.currentTime()))
  2. print(from_milliseconds(self.video_player.totalTime()))


Por otro lado, puedes indicarle al reproductor de video que emita una señal cuando la reproducción ha llegado al final. Al final de la función __init__:

  1.        self.video_player.mediaObject().finished.connect(self.finished)


Y luego añades la siguiente función a la clase:

  1.     def finished(self):
  2.         print("Terminado.")


Un saludo.
Responder


Mensajes en este tema
RE: Consulta sobre: Reproductor de video simple con PyQt 4 y 5 - por Francisco - 08-05-2017, 02:43 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)