Skip to content
Extraits de code Groupes Projets
Valider 2db52948 rédigé par Loïc Wikle DUBARD's avatar Loïc Wikle DUBARD
Parcourir les fichiers

sound_player

parent 491b386d
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
sound_player/Musiques/*
#!/bin/bash
screen -S sound_player -d -m sudo sound_player/sound_player.py
screen -S jarvis -d -m ./Jarvis.py
\ No newline at end of file
#!/usr/bin/python3
import socket
import sys
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = '127.0.0.1'
port = 13
client.connect((host, port))
if len(sys.argv) == 2:
client.send(sys.argv[1].encode())
elif len(sys.argv) == 1:
client.send(b"help")
else:
print("ERROR: invalid number of argument 1 or 0 required")
data = client.recv(1024)
print(data.decode())
#!/usr/bin/python3
import pygame
from time import sleep
import random
import threading
import socket
pygame.init()
pygame.mixer.init()
with open("playlist.txt") as f:
playlist_text = [e.strip().replace("\n", "") for e in f.readlines()]
started = False
current_index = random.randint(0, len(playlist_text) - 1)
current_sound = playlist_text[current_index]
playing = False
pygame.mixer.music.set_volume(0.5)
def play():
global started, playing, current_sound, current_index
if not started or not pygame.mixer.music.get_busy():
try:
pygame.mixer.music.load(current_sound)
pygame.mixer.music.play()
started = True
playing = True
return ("playing : " + current_sound.split("/")[-1].replace(".mp3", "")).encode()
except Exception as e:
print(e)
return (f"ERROR: Can't play sound : {current_sound}").encode()
else:
pygame.mixer.music.unpause()
return ("playing : " + current_sound.split("/")[-1].replace(".mp3", "")).encode()
def pause():
global playing
pygame.mixer.music.pause()
playing = False
return b"pausing music..."
def get_volume():
return (f"volume : {pygame.mixer.music.get_volume()}").encode()
def volume_up():
pygame.mixer.music.set_volume(pygame.mixer.music.get_volume()+0.10)
return (f"volume : {pygame.mixer.music.get_volume()}").encode()
def volume_down():
pygame.mixer.music.set_volume(pygame.mixer.music.get_volume()-0.10)
return (f"volume : {pygame.mixer.music.get_volume()}").encode()
def next_sound():
global current_index, current_sound
pygame.mixer.music.stop()
current_index = (current_index + 1) % len(playlist_text)
current_sound = playlist_text[current_index]
try:
pygame.mixer.music.load(current_sound)
pygame.mixer.music.play()
started = True
return ("playing : " + current_sound.split("/")[-1].replace(".mp3", "")).encode()
except Exception as e:
print(e)
return (f"ERROR: Can't play sound : {current_sound}").encode()
def previous_sound():
global current_index, current_sound
pygame.mixer.music.stop()
current_index = (current_index - 1) % len(playlist_text)
current_sound = playlist_text[current_index]
try:
pygame.mixer.music.load(current_sound)
pygame.mixer.music.play()
started = True
return ("playing : " + current_sound.split("/")[-1].replace(".mp3", "")).encode()
except Exception as e:
print(e)
return (f"ERROR: Can't play sound : {current_sound}").encode()
def get_sound():
return current_sound.split("/")[-1].replace(".mp3","").encode()
def the_playlist_continue():
global playing
while True:
print("theplaylistcontinue_loop")
if playing and not pygame.mixer.music.get_busy():
print(next_sound())
sleep(5)
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('127.0.0.1', 13))
server.listen(5)
t = threading.Thread(target=the_playlist_continue)
t.daemon = True
t.start()
while True:
connection, address = server.accept()
print('Got connection from', address)
data = connection.recv(1024).decode()
print(data)
if data == "play":
connection.send(play())
elif data == "pause":
connection.send(pause())
elif data == "get_volume":
connection.send(get_volume())
elif data == "volume_up":
connection.send(volume_up())
elif data == "volume_down":
connection.send(volume_down())
elif data == "next":
connection.send(next_sound())
elif data == "previous":
connection.send(previous_sound())
elif data == "get_sound":
connection.send(get_sound())
else :
connection.send(b"player-client [play|pause|get_volume|volume_up|volume_down|next|previous|get_sound]")
connection.close() # close the connection
/home/pi/sound_player/Musiques/GreatestHits/13 Love Is A Battlefield.mp3
/home/pi/sound_player/Musiques/GreatestHits/06 You Better Run.mp3
/home/pi/sound_player/Musiques/GreatestHits/07 Fire And Ice.mp3
/home/pi/sound_player/Musiques/GreatestHits/11 Little To Late.mp3
/home/pi/sound_player/Musiques/GreatestHits/19 All Fired Up.mp3
/home/pi/sound_player/Musiques/GreatestHits/20 One Love.mp3
/home/pi/sound_player/Musiques/GreatestHits/17 Sex As A Weapon.mp3
/home/pi/sound_player/Musiques/GreatestHits/12 Looking For A Stranger.mp3
/home/pi/sound_player/Musiques/GreatestHits/01 Heartbreaker.mp3
/home/pi/sound_player/Musiques/GreatestHits/05 Treat Me Right.mp3
/home/pi/sound_player/Musiques/GreatestHits/15 Ooh Ooh Song.mp3
/home/pi/sound_player/Musiques/GreatestHits/14 We Belong.mp3
/home/pi/sound_player/Musiques/GreatestHits/18 Le Bel Age.mp3
/home/pi/sound_player/Musiques/GreatestHits/08 Promises In The Dark.mp3
/home/pi/sound_player/Musiques/GreatestHits/10 Shadows Of The Night.mp3
/home/pi/sound_player/Musiques/GreatestHits/16 Invincible.mp3
/home/pi/sound_player/Musiques/GreatestHits/03 Hit Me With Your Best Shot.mp3
/home/pi/sound_player/Musiques/GreatestHits/09 Precious Time.mp3
/home/pi/sound_player/Musiques/GreatestHits/02 We Live For Love.mp3
/home/pi/sound_player/Musiques/GreatestHits/04 Hell Is For Children.mp3
/home/pi/sound_player/Musiques/Nightcall-Kavinski.mp3
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter