我希望能够通过在终端中运行我的代码来播放python中的声音(如果相关的话,我在MacOS上),并能够在终端中键入一些内容以中途停止它。现在我的文件是:
import os
import sys
if __name__ == '__main__':
os.system("afplay " + "/path/to/sound.mp3")
if input("type 'halt' to stop music") == "halt":
sys.exit()
问题是,如果我先播放声音,然后要求输入,它不会显示输入,直到它完成播放声音。如果我请求输入然后播放声音,它在得到输入之前不会播放声音。有办法解决这个问题吗?
您可以使用playsound
包,它内置异步音频播放,以及其他实用程序。
安装playsound
包(如果你在Mac上安装PyObjC
包)。这样做之后,您可以尝试这样做:
import os
import playsound
import sys
if __name__ == '__main__':
playsound.playsound("music.mp3", False)
if input("type 'halt' to stop music") == "halt":
sys.exit()