Untitled
unknown
plain_text
2 years ago
1.9 kB
7
Indexable
{
"media": [
{
"type": "video",
"file": "replayer/video1.mp4",
"start_time": "10:00",
"end_time": "11:00"
},
{
"type": "image",
"file": "replayer/image1.jpg",
"start_time": "11:00",
"end_time": "12:00"
}
]
}
import pygame
import json
import datetime
import time
# Inicializa Pygame
pygame.init()
screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
def load_media_schedule():
with open('schedule.json', 'r') as f:
return json.load(f)
def play_media(file_path, media_type):
if media_type == "video":
movie = pygame.movie.Movie(file_path)
movie_screen = pygame.Surface(movie.get_size()).convert()
movie.set_display(movie_screen)
movie.play()
while movie.get_busy():
screen.blit(movie_screen, (0, 0))
pygame.display.update()
elif media_type == "image":
image = pygame.image.load(file_path)
image_rect = image.get_rect(center=(screen.get_width()//2, screen.get_height()//2))
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
return
screen.fill((0, 0, 0)) # Clear screen
screen.blit(image, image_rect)
pygame.display.update()
time.sleep(0.1) # Update display every 0.1 seconds to keep the app responsive
schedule = load_media_schedule()
while True:
current_time = datetime.datetime.now().time()
for item in schedule["media"]:
start_time = datetime.datetime.strptime(item["start_time"], '%H:%M').time()
end_time = datetime.datetime.strptime(item["end_time"], '%H:%M').time()
if start_time <= current_time <= end_time:
play_media(item["file"], item["type"])
time.sleep(60) # Espera 60 segundos antes de revisar el horario nuevamente
Editor is loading...
Leave a Comment