问题描述
我制作了一个播放音频文件的 python 脚本,但是当我按下 Ctrl + C 时它并没有停止,声音一直在播放...
我的代码:
from playsound import playsound as splay
from os.path import isfile
import sys
def usage():
print("\nSplay - Version[1]")
print("Usage:\n\tsplay filename.mp3/wav")
exit(0)
if len(sys.argv) < 2:
print("filename argument missing !!!")
usage()
exit(1)
filenm = sys.argv[1]
if not isfile(filenm):
print("filename invalid !!!")
usage()
exit(1)
splay(filenm)
所以有没有办法阻止这种情况或使用 python 播放声音的更好方法,我在使用 python 3.9 的基于 Debian 的 linux 发行版
感谢您提前回答
解决方法
这个线程是关于相同的问题:stopping audio with playsound module(您将在使用 multiprocessing
模块的 Artemis 的第二个答案中找到特定于模块的解决方案。
代码如下:
import multiprocessing
from playsound import playsound
p = multiprocessing.Process(target = playsound,args = ('music.mp3',))
p.start()
wait = input('press ENTER to stop playback')
p.terminate()
另一个答案建议不要使用 playsound
模块,而是切换到不同的模块。