gpt4 book ai didi

python - 停止在 pydub 中播放音频

转载 作者:行者123 更新时间:2023-12-02 23:34:38 81 4
gpt4 key购买 nike

pydub 中是否有诸如终止或停止功能之类的东西,以便在 play() 启动后的流可以在它仍在播放时突然停止,而不是音频播放到它的全长然后停止。

最佳答案

如前所述,pydub 本身不提供此类功能。但是,可以使用多处理来停止音乐:

from pydub import AudioSegment
from pydub.playback import play
from multiprocessing import Process

some_audio = AudioSegment.from_file('yourAudioFile.mp3')
process = Process(target=play, args=(some_audio,))

if __name__ == '__main__':
process.start()
time.sleep(2000) # do some stuff inbetween
process.terminate()

方法 terminate() 停止进程并停止播放音频。

编辑

我找到了一个好得多的方法,让我们避免了不必要的繁重过程。

from pydub import AudioSegment
from pydub.playback import _play_with_simpleaudio

some_audio = AudioSegment.from_file('yourAudioFile.mp3')
playback = _play_with_simpleaudio(some_audio)
time.sleep(2000) # do some stuff inbetween
playback.stop()

更多详情:https://github.com/jiaaro/pydub/issues/160#issuecomment-497953546

关于python - 停止在 pydub 中播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47596007/

81 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com