Script "schön" genug?
Verfasst: Freitag 27. März 2015, 16:32
Das letzte mal haben sich ja einige über emine Schreibweise, zu Recht, beschwert.
Ich habe jetzt den Code noch einmal überarbeitet.
Wäre nett, wenn Ihr nochmal so Hilfsbereit sein könntet und von mir eventl. falsche/unschöne Sachen verbessert.
Der Code an sich funtzt.
V.a. wie ich das "Play" aus dem Stream hole ershciet mir äußerst "unelegant"
Ich habe jetzt den Code noch einmal überarbeitet.
Wäre nett, wenn Ihr nochmal so Hilfsbereit sein könntet und von mir eventl. falsche/unschöne Sachen verbessert.
Der Code an sich funtzt.
Code: Alles auswählen
#!/usr/bin/env python
# coding: utf8
import socket
import pyglet
import os
import time
TCP_IP = '192.168.2.108'
TCP_PORT = 4000
BUFFER_SIZE = 1024
PATH = "/media/usb/"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
def Play():
isPlaying = False
player = pyglet.media.Player()
while 1:
data = conn.recv(BUFFER_SIZE)
if not data: break
elif data == "Pause\r\n":
if isPlaying == True:
player.pause()
isPlaying = False
else:
player.play()
isPlaying = True
elif data[0] == "P" and data[1] == "l" and data[2] == "a" and data[3] == "y":
song = ""
i = 6
while i < len(data):
song += data[i]
i += 1
player.pause()
player = None
player = pyglet.media.Player()
song = song.split(".wav")
playSong = song[0]
playSong += ".wav"
player.queue(pyglet.media.load(PATH + playSong ,streaming=False))
player.play()
isPlaying = True
def searchSongs():
StickInhalt = os.listdir(PATH)
lieder = []
for lied in StickInhalt:
if lied != "System Volume Information" and lied[0] != ".":
lieder.insert(len(lieder),lied)
for lied in lieder:
conn.send(lied + "|")
Play()
def Connect():
s.bind((TCP_IP, TCP_PORT))
s.listen(1)
conn, addr = s.accept()
while True:
data = conn.recv(BUFFER_SIZE)
if not data: break
else:
print "Verbunden mit:",addr
return conn
conn = Connect()
searchSongs()
conn.close()