Files
blindtest/Python/vlc_control.py
2024-07-29 16:00:55 +02:00

51 lines
1.8 KiB
Python

import requests
# Configurer l'adresse et le port de l'interface Web de VLC
VLC_WEB_URL = 'http://localhost:8080'
VLC_PASSWORD = 'kiki' # Remplacez ceci par le mot de passe configuré dans l'interface Web
DEBUG = False
def is_vlc_running():
try:
response = requests.get(f'{VLC_WEB_URL}/requests/status.json', auth=('', VLC_PASSWORD))
response.raise_for_status()
return True
except requests.RequestException:
return False
def get_vlc_status():
try:
response = requests.get(f'{VLC_WEB_URL}/requests/status.json', auth=('', VLC_PASSWORD))
response.raise_for_status()
return response.json()
except requests.RequestException as e:
print(f"Erreur lors de la récupération de l'état de VLC : {e}")
return None
def send_vlc_command(command, check_playing=False):
if not is_vlc_running():
print(f"VLC n'est pas accessible à {VLC_WEB_URL}. Assurez-vous que VLC est ouvert et que l'interface Web est activée.")
return
if check_playing:
status = get_vlc_status()
if status is not None:
state = status.get('state')
if state != 'playing':
if DEBUG:
print(f"La commande '{command}' n'est pas nécessaire. État actuel : {state}")
return
try:
response = requests.get(f'{VLC_WEB_URL}/requests/status.json?command={command}', auth=('', VLC_PASSWORD))
response.raise_for_status()
if DEBUG:
print(f"Commande '{command}' envoyée à VLC.")
except requests.RequestException as e:
if DEBUG:
print(f"Erreur lors de l'envoi de la commande '{command}' à VLC : {e}")
def seek_to_time(minutes, seconds):
# Convertir le temps en secondes
total_seconds = minutes * 60 + seconds
send_vlc_command(f'seek&val={total_seconds}')