如何在Python脚本的背景中播放音频(playsound)?

Sco*_*tEU 1 python audio playsound

我只是在写一个小型的python游戏,很有趣,我有一个函数可以开始叙述。

我正在尝试让音频在后台播放,但是很遗憾,在该功能继续之前,首先播放的是mp3文件。

我如何使其在后台运行?

import playsound

def displayIntro():
playsound.playsound('storm.mp3',True)
print('')
print('')
print_slow('The year is 1845, you have just arrived home...')
Run Code Online (Sandbox Code Playgroud)

另外,有什么方法可以控制播放声音模块的音量?

我应该补充一点,我使用的是Mac,但我不喜欢使用playsound,它似乎是我可以使用的唯一模块。

小智 14

只需更改TrueFalse(我使用python 3.7.1

import playsound
playsound.playsound('storm.mp3', False)
print ('...')
Run Code Online (Sandbox Code Playgroud)

  • 信息:这不适用于 Ubuntu 20.04。它给出以下错误:``NotImplementedError: block=False 还不能在此平台上使用`` (2认同)
  • 经过一些测试后,它看起来只适用于 Windows,因为底层 Gstreamer 实现仅针对 Windows 驱动程序进行配置 (2认同)
  • 现在这似乎也适用于 Ubuntu 20.04。 (2认同)

voi*_*oid 5

在Windows中:

使用winsound.SND_ASYNC异步播放它们

import winsound
winsound.PlaySound("filename", winsound.SND_ASYNC | winsound.SND_ALIAS )
Run Code Online (Sandbox Code Playgroud)

停止播放

winsound.PlaySound(None, winsound.SND_ASYNC)
Run Code Online (Sandbox Code Playgroud)

在Mac或其他平台上:您可以尝试此Pygame / SDL

pygame.mixer.init()
pygame.mixer.music.load("file.mp3")
pygame.mixer.music.play()
Run Code Online (Sandbox Code Playgroud)