使用适用于python的vlc库创建自动存储塔(以及许多按钮^^)

时间:2019-05-03 05:23:25

标签: python audio raspberry-pi pygame

在发现VLC Player可用于python(pygame似乎不是最佳选择)之后,我想尝试用树莓派及其它创建一个简单的自动点唱机。我的依据是this网站。

如果有人有更好的教程,请随时分享。 最后,我想菊花链连接一些MCP23017,并使用大约100个按钮将歌曲添加到播放列表中并进行播放。就像普通的自动点唱机一样。

如果我的用例有更好的方法/更好的库,请告诉我。

问题之一是,最初会有人添加5首歌曲。每个人都在跳舞,真是太棒了。第5首歌曲停止播放,无法播放音乐。 30分钟过去了。有人按下3个按钮(相同或不同),这些歌曲继续播放音乐。不是以前的5,也不存在单独的“播放”按钮。重复一整个晚上。

此外,我以前从未使用过VLC for python(或Python),因此我需要一些代码帮助。不需要是完美的,但是到目前为止,它还远远没有达到工作的目的。一些提示会很棒。

这是我的编码尝试:

pip install python-vlc #only one time, right?

import vlc # afterwards this should be enough(?)
import time
import RPi.GPIO as GPIO

VarPlay = 0   #Check if it already started playing
playlist = '' #String Variable which is filled with playlist values

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)

GPIO.setup(10, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

def button_1(channel):
  playlist = playlist + '/path/to/song1.mp3'

if VarPlay = 0
 player = vlc.MediaPlayer(song)
 player.play()

VarPlay = 1

def button_2(channel):
playlist = playlist + '/path/to/song2.mp3'

if VarPlay = 0
 player = vlc.MediaPlayer(song)
 player.play()

VarPlay = 1

GPIO.add_event_detect(10,GPIO.RISING,callback=button_1)
GPIO.add_event_detect(11,GPIO.RISING,callback=button_2)

GPIO.cleanup()

嗯,预期的结果是无法正常运行自动点唱机。 按下按钮,听一首歌。我猜这方面的用户故事是不言自明的。

谢谢,很多人,希望我们可以创建一个很好的“带有VLC for python的自动点唱机”示例。

0 个答案:

没有答案