Exemple #1
0
def make_player(canvas, engine="gstreamer"):
    def stop(player):
        player.file = ""
    
    def play(player, media):
        stop(player)
        player.file = join_path(DATA_DIR, media)
        player.play = True

    def replay(player):
        fname = player.file
        stop(player)
        play(player, fname)

    sfx_player = Emotion(canvas, module_filename=engine)
    bgm_player = Emotion(canvas, module_filename=engine)

    bgm_player.on_playback_finished_add(replay)

    add_hook('play:sfx',  play, sfx_player)
    add_hook('game:end',   stop, sfx_player)

    add_hook('play:bgm',  play, bgm_player)
    add_hook('game:over', stop, bgm_player)
    add_hook('game:end',   stop, bgm_player)