import requests import time # 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}') def decrease_volume(): """ Decrease the volume of VLC to 0 with fixed step and duration. """ 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 try: # Récupérer le volume actuel status = get_vlc_status() if status is None: return current_volume = int(status.get('volume', 256)) # Paramètres fixes step_duration = 0.5 # Durée en secondes entre chaque diminution de volume volume_step = 5 # Diminution du volume par étape while current_volume > 0: current_volume -= volume_step if current_volume < 0: current_volume = 0 send_vlc_command(f'volume&val={int(current_volume)}') time.sleep(step_duration) # S'assurer que le volume est à 0 send_vlc_command('volume&val=0') if DEBUG: print("Volume baissé à 0.") except requests.RequestException as e: if DEBUG: print(f"Erreur lors de la diminution du volume : {e}")