Brian
Brian

Reputation: 93

VLC Media List Player timed audio pause

On a Raspberry Pi using a Python program, I'm using a Media List Player to play a set of audio files. The specific code but I use to set it up is:

player = vlc.Instance('--no-xlib --quiet ') # no-xlib for linux and quiet don't complain
media_player = vlc.MediaListPlayer()  # creating a media player object
media_list = player.media_list_new()  # creating a new media list
media_player.set_media_list(media_list)  # setting media list to the media player
new = player.media_player_new()  # new media player instance
media_player.set_media_player(new)  # setting media player to it
media_events = new.event_manager()  # setting event handler
# setting up events
media_events.event_attach(vlc.EventType.MediaPlayerMediaChanged, vlc_SongStarted)
media_events.event_attach(vlc.EventType.MediaPlayerEndReached, vlc_SongFinished)

In the MediaPlayerEndReached event I'm trying to insert a pause to vlc (not the actual program) - I'm trying to avoid using "time.sleep()". Basically, I'm trying to pause vlc for 3 seconds between tracks. I tried:

media_player.audio_set_delay(3000)

That results in:

AttributeError: 'MediaListPlayer' object has no attribute 'audio_set_delay'

Makes sense, so then I tried to get to the actual media player and tried:

media_player.get_media_player.audio_set_delay(3000)

That results in:

AttributeError: 'function' object has no attribute 'audio_set_delay'

I'm stumped. Is there a way to do a timed pause for vlc in Python without having the pause the entire python program?

Upvotes: 0

Views: 517

Answers (1)

TheEagle
TheEagle

Reputation: 5992

Try adding a pair of round brackets to get_media_player in media_player.get_media_player.audio_set_delay(3000), so that it becomes media_player.get_media_player().audio_set_delay(3000) ;-) !

Upvotes: 1

Related Questions