import os
from subprocess import Popen, PIPE
music = None
while 1:
cmd = raw_input('> ')
if cmd.lower() == 'play':
music = Popen('mpg321 /home/Torxed/test.mp3'.split(' ',1), stdout=PIPE, stderr=STDOUT, close_fds=True)
elif cmd.lower() == 'stop':
try:
music.stdout.close()
music.stdin.close()
except:
pass
music = None
您可以这样做,而不是使用子流程:
music = os.popen('mpg321 /home/Torxed/test.mp3', 'w')
而且只是做
music.close()
我仍然认为这是一个可怕的解决方案,因为如果你是一个程序员,你不应该依赖外部资源来完成你的任务……它应该在你的应用程序中处理,而不是在操作系统或某些3上:党的申请.
备择方案
Pygame:比如Pygame,它将为你做一些工作.
import pygame, time
pygame.init()
pygame.mixer.music.load('/home/Torxed/test.mp3')
pygame.