Я пытаюсь сделать видео, в котором пауза на первом кадре будет оставаться на 5 секунд, затем воспроизводиться до конца и перематываться назад (затем оставаться на первом кадре на 5 секунд, а затем воспроизводиться снова)
На данный момент у меня есть код, который определяет завершение воспроизведения видео, но не возвращается к началу, а просто остается на последнем кадре видео.
/>По сути, set_position(0) не работает после завершения воспроизведения видео.
import vlc
import time
# Path to your video file
video_path = "vid.mp4"
# Create VLC instance
vlc_instance = vlc.Instance('')
# Create media player
player = vlc_instance.media_player_new()
# Load the video file
media = vlc_instance.media_new(video_path)
player.set_media(media)
#player.PlaybackMode("loop")
# Register an event manager
event_manager = player.event_manager()
# Define a callback function for the EndReached event
def on_end_reached(event):
restart_video(player)
# Connect the EndReached event to the callback function
event_manager.event_attach(vlc.EventType.MediaPlayerEndReached, on_end_reached)
def restart_video(player):
print("Putting the video at the beginning")
player.set_position(0)
player.play()
time.sleep(0.5)
player.pause() # Pause the video as the beginning
time.sleep(5)
player.play()
restart_video(player)
Подробнее здесь: https://stackoverflow.com/questions/783 ... ne-playing