如何停止播放声音

问题描述

我制作了一个播放音频文件的 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 模块,而是切换到不同的模块。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...