Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 停止循环中的mp3填充_Python_Pygame - Fatal编程技术网

Python 停止循环中的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

我想在用户按键时立即停止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)
        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