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

时间:2017-06-10 10:18:58

标签: 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...')

另外,有没有办法控制播放声音模块的音量?

我应该补充一点,我使用的是Mac,而且我并不喜欢使用playound,它似乎只是我可以使用的唯一模块。

8 个答案:

答案 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()