所以,我正在使用Python3制作播放歌曲的东西。我有它工作所以,如果我按1,它播放播放列表,如果我按2,它播放第一首歌曲,如果我按3,它播放第二首歌曲。它可以与Circles一起使用,但是一旦它进入Bullseye,它就会在播放列表中播放,它会不断地响起(就像通知出现而你点击其他地方一样)。当你按下3时,它会叮当一声并坐在那里。我认为它可能与歌曲有关(BullsEye.mp3)这是我的代码还是之前有其他人有这个问题?
from time import *
import winsound
from winsound import *
input = input('1 for playlist - 2 for Circles - 3 for BullsEye ')
var = int(input)
while var==1:
winsound.PlaySound("Circles.mp3", winsound.SND_ALIAS)
winsound.PlaySound("BullsEye.mp3", winsound.SND_ALIAS)
if var==2:
winsound.PlaySound("Circles.mp3", winsound.SND_ALIAS)
if var==3:
winsound.PlaySound("BullsEye.mp3", winsound.SND_ALIAS)
答案 0 :(得分:1)
如果您想传递文件名而不是winsound.SND_FILENAME
等预定义别名,请使用winsound.SND_ALIAS
代替'SystemExit'
,否则如果您传递无法识别的别名,则只会播放默认声音(即可能是任意文件名):
#!/usr/bin/env python3
audio_files = ["Circles.wav", "BullsEye.wav"]
def play(filename):
winsound.PlaySound(filename, winsound.SND_FILENAME)
choice = int(input('1 for playlist - 2 for Circles - 3 for BullsEye '))
if choice == 1:
for filename in audio_files:
play(filename)
elif choice in {2, 3}:
play(audio_files[choice-2])
else:
assert 0
注意:PlaySound
播放wav文件,而不是mp3。要使用默认播放器播放mp3,您可以使用os.startfile()
。