qq_42458215 2022-10-27 04:12 采纳率: 74.3%
浏览 62
已结题

关于#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()




  • 写回答

3条回答 默认 最新

  • a5156520 2022-10-27 09:40
    关注

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

    参考链接:
    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月29日
  • 已采纳回答 10月27日
  • 创建了问题 10月27日

悬赏问题

  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改
  • ¥50 vue router 动态路由问题