I am just writing a small python game for fun and I have a function that does the beginning narrative.
I am trying to get the audio to play in the background but unfortunately the mp3 file plays first before the function continues.
How do I get it to run in the background?
import playsound
def displayIntro():
playsound.playsound('storm.mp3',True)
print('')
print('')
print_slow('The year is 1845, you have just arrived home...')
Also, is there any way of controlling the volume of the play sound module?
I should add that I am using a Mac, and I am not wedded to using playsound, it just seems to be the only module that I can get working.
In windows:
Use winsound.SND_ASYNC to play them asynchronously
import winsound
winsound.PlaySound("filename", winsound.SND_ASYNC | winsound.SND_ALIAS )
To stop playing
winsound.PlaySound(None, winsound.SND_ASYNC)
In mac or other platforms: You can try this Pygame/SDL
pygame.mixer.init()
pygame.mixer.music.load("file.mp3")
pygame.mixer.music.play()
Well you could just use 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
Just change True
to False
(I use python 3.7.1
)
import playsound
playsound.playsound('storm.mp3', False)
print ('...')
There is a library In pygame called mixer and you can add a mp3 file to the folder with the python script inside and put code like this inside:
from pygame import mixer
mixer.init()
mixer.music.load("mysong.mp3")
mixer.music.play()
I hope you found my answer helpful
Playsound has an option for running in the background -> additional argument to be set to 0:
playsound('xxxxx.mp3", **0**)
from pygame import mixer
mixer.music.init()
mixer.music.load("audio.mp3") # Paste The audio file location
mixer.play()
来源:https://stackoverflow.com/questions/44472162/how-do-play-audio-playsound-in-background-of-python-script