📜  PYGLET – 播放器的当前源跑出事件(1)

📅  最后修改于: 2023-12-03 14:45:44.374000             🧑  作者: Mango

PYGLET – 播放器的当前源跑出事件

Pyglet是一个Python的跨平台多媒体库,专注于处理音频和视频。

在Pyglet中,可以使用pyglet.media模块来创建和操作媒体资源。当播放资源时,可以监听媒体播放器的事件。其中一种事件是“source驱动事件”,它在播放器当前源之后被触发。

此事件便于在使用连续播放或播放列表时确定下一个要播放的源。

捕获源驱动事件

使用pyglet.media.Player可以创建一个播放器实例,使用该实例可以播放不同类型的媒体资源。要捕获源驱动事件,可以使用on_source_end事件,该事件会在播放器当前源结束时被触发。

要使用on_source_end事件,需要使用Player类中的event_source属性,并调用Player.push_handlers注册事件处理程序。

import pyglet

player = pyglet.media.Player()
source = pyglet.media.load('music.mp3')
player.queue(source)

def next_source(evt):
    # Load next source
    pass

player.event_source.on_player_eos = next_source
player.play()

在上面的示例中,创建了一个Pyglet音乐播放器,将'music.mp3'文件添加到播放队列中,并为播放器的on_player_eos事件设置了一个名为next_source的处理程序。在播放器结束播放当前源后,next_source将被调用来加载下一个源。

结论

Pyglet提供了强大的多媒体处理功能,并允许在播放器中监听各种事件。当需要在播放媒体资源时捕获播放器事件时,可以使用on_source_end事件来监听播放器当前源结束播放的事件。