PYGLET: evento de agotamiento de la fuente actual del jugador

En este artículo, veremos cómo podemos activar el evento de agotamiento de la fuente actual del reproductor del módulo PYGLET en python. Pyglet es una biblioteca fácil de usar pero poderosa para desarrollar aplicaciones GUI visualmente ricas como juegos, multimedia, etc. Una ventana es un objeto «pesado» que ocupa los recursos del sistema operativo. Las ventanas pueden aparecer como regiones flotantes o pueden configurarse para llenar una pantalla completa (pantalla completa). Este módulo permite que las aplicaciones especifiquen una ruta de búsqueda de recursos. Pyglet puede reproducir archivos WAV y, si está instalado FFmpeg, muchos otros formatos de audio y video. La reproducción está a cargo de la clase Player, que lee los datos sin procesar de los objetos de origen y proporciona métodos para pausar, buscar, ajustar el volumen, etc. Este evento se activa cuando la fuente actual se quedó sin datos. El comportamiento predeterminado es avanzar a la siguiente fuente en la lista de reproducción si el atributo de bucle se establece en False. Si el atributo de bucle se establece en Verdadero, la fuente actual comenzará a reproducirse nuevamente hasta que se llame a next_source() o el bucle se configure en Falso.

Podemos crear una ventana y un objeto reproductor con la ayuda de los comandos que se indican a continuación.

# creating a window
window = pyglet.window.Window(width, height, title)

# creating a player for media
player = pyglet.media.Player()

A continuación se muestra la sintaxis del evento.

# end of source event
@window.event
def on_eos():
    # printing some message
    print("Current Source ended")

A continuación se muestra la implementación.

# importing pyglet module
import pyglet
  
# width of window 
width = 800
    
# height of window 
height = 500
    
# caption i.e title of the window 
title = "Geeksforgeeks"
    
# creating a window 
window = pyglet.window.Window(width, height, title) 
  
  
# creating a media player object
player = pyglet.media.Player()
  
# loading a new media
media = pyglet.media.load("media.mp4")
  
  
# video path
vidPath ="gfg.mp4"
  
# add this media in the queue
player.queue(media)
  
# creating a source object
source = pyglet.media.StreamingSource()
  
# load the media from the source
MediaLoad = pyglet.media.load(vidPath)
  
# add this media in the queue
player.queue(MediaLoad)
  
  
  
# play the video
player.play()
  
  
# on draw event
@window.event
def on_draw():
      
    # clea the window
    window.clear()
      
    # if player source exist
    # and video format exist
    if player.source and player.source.video_format:
          
        # get the texture of video and
        # make surface to display on the screen
        player.get_texture().blit(0, 0)
          
          
# key press event     
@window.event 
def on_key_press(symbol, modifier): 
    
    # key "p" get press 
    if symbol == pyglet.window.key.P: 
          
        # pause the video
        player.pause()
          
        # printing message
        print("Video is paused")
          
          
    # key "r" get press 
    if symbol == pyglet.window.key.R: 
          
        # resume the video
        player.play()
          
        # printing message
        print("Video is resumed")
          
# end of source event
@window.event
def on_eos():
    # printing some message
    print("Current Source ended")
      
  
# run the pyglet application
pyglet.app.run()
  
         

Producción :

Publicación traducida automáticamente

Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *