我只是为了好玩而编写一个小型python游戏,我有一个功能可以开始叙述。
我正在尝试让音频在后台播放,但不幸的是mp3文件在功能继续之前播放。
如何让它在后台运行?
import playsound
def displayIntro():
playsound.playsound('storm.mp3',True)
print('')
print('')
print_slow('The year is 1845, you have just arrived home...')
另外,有没有办法控制播放声音模块的音量?
我应该补充一点,我使用的是Mac,而且我并不喜欢使用playound,它似乎只是我可以使用的唯一模块。
答案 0 :(得分:4)
在Windows中:
使用 winsound.SND_ASYNC 以异步方式播放
import winsound
winsound.PlaySound("filename", winsound.SND_ASYNC | winsound.SND_ALIAS )
停止播放
winsound.PlaySound(None, winsound.SND_ASYNC)
在mac或其他平台上: 您可以试试这个Pygame/SDL
pygame.mixer.init()
pygame.mixer.music.load("file.mp3")
pygame.mixer.music.play()
答案 1 :(得分:2)
好吧,您可以只使用pygame.mixer.music.play(x)
#!/usr/bin/env python3
# Any problems contact me on instagram @vulnerabilties
import pygame
pygame.mixer.init()
pygame.mixer.music.load('filename.extention')
pygame.mixer.music.play(999)
# YOUR CODE HERE
答案 2 :(得分:2)
在pygame中有一个名为Mixer的库,您可以将mp3文件添加到带有python脚本的文件夹中,并在其中放置如下代码:
from pygame import mixer
mixer.init()
mixer.music.load("mysong.mp3")
mixer.music.play()
希望您发现我的回答有用
答案 3 :(得分:1)
Just change True
to False
(I use python 3.7.1
)
import playsound
playsound.playsound('storm.mp3', False)
print ('...')
答案 4 :(得分:1)
from pygame import mixer
mixer.music.init()
mixer.music.load("audio.mp3") # Paste The audio file location
mixer.play()
答案 5 :(得分:1)
你可以试试just_playback。这是我围绕 miniaudio 编写的包装器,可在后台播放音频,同时提供播放控制功能,如暂停、恢复、搜索和设置播放音量。
答案 6 :(得分:0)
Playsound有一个在后台运行的选项 - >要设置为0的附加参数:
playsound('xxxxx.mp3", **0**)
答案 7 :(得分:0)
使用vlc
import vlc
player = None
def play(sound_file):
global player
if player is not None:
player.stop()
player = vlc.MediaPlayer("file://" + sound_file)
player.play()