在Python中使用VLC终端命令在IDLE Vs中表现不同终奌站

时间:2016-06-16 03:29:03

标签: python linux python-3.x raspbian raspberry-pi2

我正在尝试编写一个自动存储塔代码,允许运行Raspbian的Raspberry Pi启动到终端并运行我的脚本而不是启动到桌面。 Pi将在没有屏幕的盲模式下运行,仅显示4位7段显示器上矩阵键盘的键入数字。

当我从桌面编写和测试代码并在IDLE中运行我的程序时,它工作得很好。它会提示输入2位数的光盘编号,然后输入2位数的轨道编号。然后它向终端发送命令以使用VLC的“虚拟模式”来播放mp3。这不是直接来自我的程序,但它将显示基本功能:

import os

# The script asks for user input to ask for the disc and track number
discNum="01"
trackNum="01"  

# With the variable values above, this sends a command to terminal to 
# play Disc 01, Track 01 in the background
songSelection="cvlc /home/pi/JukeMP3/"+discNum+"/"+trackNum+"*.mp3 &"
os.system(songSelection)

这适用于桌面。我在循环上输入脚本以接受输入,使用“killall vlc”命令停止当前播放曲目,然后启动所选曲目。使用cvlc将VLC播放器置于虚拟模式(无窗口)和“&”在命令结束时允许程序在歌曲开始播放后继续运行。

问题在于,当我设置我的脚本在启动时运行并且它在终端而不是IDLE窗口中运行时,VLC播放器输出有关播放轨道的一些信息并锁定提示,停止程序继续。而不是将所请求的命令放入后台“&”似乎没什么区别。

有没有办法让VLC在后台工作而不控制终端,这样我的程序可以继续?

0 个答案:

没有答案