如何在终端播放声音的同时能够在 Python 中播放时停止声音?
How do i play a sound in terminal while being able to stop it while playing in Python?
我希望能够通过 运行 我在终端中的代码在 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()
我希望能够通过 运行 我在终端中的代码在 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()