Python 停止循环中的mp3填充
我想在用户按键时立即停止mp3文件。这是我的密码:Python 停止循环中的mp3填充,python,pygame,Python,Pygame,我想在用户按键时立即停止mp3文件。这是我的密码: From pygame import mixer Import time def music(file) : mixer.init() mixer.music.load(file) while True : try : mixer.music.play() # duration of file 2 sec time.sleep(3) excep
From pygame import mixer
Import time
def music(file) :
mixer.init()
mixer.music.load(file)
while True :
try :
mixer.music.play() # duration of file 2 sec
time.sleep(3)
except KeyboardInterrupt :
mixer.music.stop()
break
现在它工作了,它停止循环,但在完成播放整个mp3之后。我希望它像闹钟一样立即停止。虽然
py.exe中的同一文件
会立即停止循环。但不能处于空闲状态。要立即停止音乐,您可以设置一个带有回调的按键侦听器来停止混音器
此代码在空闲状态下工作:
from pygame import mixer
import time
from pynput.keyboard import Key, Listener
def stopsound(evt):
global running
mixer.music.stop() # stop music
running = False # exit run loop
return False # stop key listener
def music(file) :
global running
mixer.init()
mixer.music.load(file)
running = True;
while running :
try :
mixer.music.play() # duration of file 2 sec
time.sleep(3)
except KeyboardInterrupt :
mixer.music.stop()
break
with Listener(on_press=stopsound) as listener:
music('SomeMusic.mp3')
listener.join() # wait for listener thread to finish
要立即停止音乐,您可以设置一个带有回调的按键侦听器来停止混音器 此代码在空闲状态下工作:
from pygame import mixer
import time
from pynput.keyboard import Key, Listener
def stopsound(evt):
global running
mixer.music.stop() # stop music
running = False # exit run loop
return False # stop key listener
def music(file) :
global running
mixer.init()
mixer.music.load(file)
running = True;
while running :
try :
mixer.music.play() # duration of file 2 sec
time.sleep(3)
except KeyboardInterrupt :
mixer.music.stop()
break
with Listener(on_press=stopsound) as listener:
music('SomeMusic.mp3')
listener.join() # wait for listener thread to finish