关于#Python#的问题,如何解决?

我想练习打字,但太无聊了 ,所以想做一个Python小脚本,使得我每打一个字,歌曲都会演奏3秒后暂停,使得我就象在演奏乐器一样,但是我做的这个脚本,虽然能播放音乐,但是不能达到要求

import time
import pygame
from pynput.keyboard import Key,Controller as key
import keyboard
pygame.mixer.init()
pygame.mixer.music.load("ウォルピスカーター - 晴天前夜.mp3")
pygame.mixer.music.play()
while(1):
    event =pygame.event.get()
    if event==keyboard.KEY_DOWN:
        pygame.mixer.music.pause()
        pygame.mixer.music.unpause()
        time.sleep(3)
        pygame.mixer.music.pause()




处理逻辑有一点问题,修改如下:

参考链接:
Python怎么计算时间差(含代码实例)_旅途中的宽~的博客-CSDN博客_python 时间差
python keyboard获取键盘事件_Python借助keyboard监听键盘事件_weixin_39801465的博客-CSDN博客

import time
import pygame
from pynput.keyboard import Key,Controller as key
import keyboard

import datetime

def showMusic(s):
    
    
    pygame.mixer.init()   
    #https://blog.csdn.net/wzk4869/article/details/126432432
    now_time=datetime.datetime.now() #音乐播放开始时间
    pygame.mixer.music.load("ウォルピスカーター - 晴天前夜.mp3") 
    pygame.mixer.music.play()
    
    #计算音乐播放的3秒后是什么时间
    end_time=(now_time+datetime.timedelta(seconds=3))
    
    #如果时间没有超过3秒,则一直计算时间是否超过 改为time.sleep(3) 也可以
    while (end_time-now_time).seconds>0:
        now_time=datetime.datetime.now()
        #print("(end_time-start_time).seconds=",str((end_time-now_time).seconds))
    #超过3秒,停止播放音乐    
    pygame.mixer.music.pause()   
    #time.sleep(3)
    #asdfpygame.mixer.music.pause()




while(1):
    
    #https://blog.csdn.net/weixin_39801465/article/details/111431166
    keyboard.on_press(showMusic) #当键盘按下事件发生时,调用音乐播放函数
    keyboard.wait()
    
        
        
        
       
      

        
        
        
       
      

        
        
        
       
      


img

用input控制输入,控制台程序keyboard读取不到键值


import time
import pygame
#from pynput.keyboard import Key,Controller as key
#import keyboard

#pygame.init()#这里没有初始化下面while中event =pygame.event.get()会报错pygame.error: video system not initialized
pygame.mixer.init()
pygame.mixer.music.load("001.mp3")
pygame.mixer.music.play()
pygame.mixer.music.pause()
while(1):
    #event =pygame.event.get()#而且控制台获取不到键盘事件,改input让用户输入
    event=input()
    #if event==keyboard.KEY_DOWN:
    pygame.mixer.music.unpause()
    time.sleep(3)
    pygame.mixer.music.pause()