• pygame--音频


    import pygame,time
    
    pygame.init()
    screen = pygame.display.set_mode((196, 100))
    pygame.display.set_caption("pygame.mouse函数")
    
    pygame.mixer.music.load('酒醉的蝴蝶.mp3')  #载入音乐
    #音乐可以是ogg、mp3、wav等格式
    #载入的音乐不会全部放到内容中,而是以流的形式播放的,即在播放的时候才会一点点从文件中读取
    
    pygame.mixer.music.play()  #播放载入的音乐
    #该函数立即返回,音乐播放在后台进行。play方法还可以使用两个参数
    #如果音乐已经播放,它就会重新启动
    #play(loops=0, start=0.0) -> None
    #参数1:控制音乐播放的次数。播放(5)将使音乐播放一次,然后重复5次,总共是6次。如果循环是-1,那么音乐就会无限重复
    #起始位置的参数控制着歌曲开始播放的地方。起始位置取决于音乐演奏的格式。MP3和OGG以时间为单位(以秒为单位)。MOD音乐是模式的序号。如果不能设置起始位置,通过一个startpos将会抛出一个NotImplementedError
    time.sleep(10) pygame.mixer.music.load('酒醉的蝴蝶.mp3') #如果一个音乐流已经播放,它就会被停止。这并不是音乐的开始 while True: event=pygame.event.wait() if event.type == pygame.QUIT: exit() pygame.display.update()
    pygame.mixer.music.rewind() #重新启动音乐
    #将当前音乐的播放重新设置为一开始
    pygame.mixer.music.stop() #停止音乐播放
    pygame.mixer.music.pause() #暂时停止音乐播放
    pygame.mixer.music.unpause()   #恢复暂停音乐
    pygame.mixer.music.fadeout(30000)  #播放指定时间后就淡出并停止播放音乐
    #单位:毫秒
    #此函数将阻塞,直到音乐淡出
    print('音量0.5')
    pygame.mixer.music.set_volume(0.5)  #调节音乐音量
    #设置音乐播放的音量。值参数在0.0和1.0之间。当加载新音乐时,音量就会重置
    time.sleep(30)
    print('音量1')
    pygame.mixer.music.set_volume(1)
    time.sleep(30)
    print('音量0.3')
    pygame.mixer.music.set_volume(0.3)
    b=pygame.mixer.music.get_volume() #返回当前音量
    #值将在0.0和1.0之间
    b=pygame.mixer.music.get_busy()   #检查音乐流是否在播放
    #当音乐流在积极播放时,就会返回True。当音乐空闲时,返回False
    #暂停相当于在播放,返回True
    x=pygame.mixer.music.get_pos()  #获得音乐播放时间
    #单位:毫秒
    #注意:不是播放位置
    
    pygame.mixer.music.set_pos(30)    #设定播放位置
    '''
    这将在播放播放的音乐文件中设置位置。“pos”的含义,一个浮点数(或一个可以转换为浮点数的数字),取决于音乐的格式。对于MOD文件,它是模块中的整数模式号。从声音的开始,在几秒钟内,就会得到绝对的位置。对于MP3文件,它是相对位置,在几秒内,从当前位置。对于MP3文件中的绝对定位,首先调用rewind()。其他文件格式是不支持的。更新版本的sdl混音版本比以前更有定位支持。如果某个特定格式不支持定位,则会提高一个SDLError
    【MP3:从当前位置再往后推延指定的秒数】
    '''
    import pygame,time
    
    pygame.init()
    screen = pygame.display.set_mode((196, 100))
    pygame.display.set_caption("pygame.mouse函数")
    
    pygame.mixer.music.load('酒醉的蝴蝶.mp3')
    pygame.mixer.music.play()
    
    
    pygame.mixer.music.set_endevent(pygame.KEYDOWN)   #当播放停止时,音乐会发送一个事件
    #参数:事件
    #每次音乐结束时,这个事件都会被排队,而不仅仅是第一次[只要不在播放状态,会一直发送]。为了防止事件被排队,请调用这个方法,没有参数
    
    b=pygame.mixer.music.get_endevent()   #当播放停止时,获取set_endevent发送的事件--int
    #pygame.KEYDOWN=2
    #如果没有endevent,函数将返回pygame.NOEVENT
    
    print('xxxxxxx',b)
    
    while True:
        event=pygame.event.wait()
        if event.type == pygame.QUIT:
            exit()
        print('aaaaaa',event)
    
        pygame.display.update()
    b=pygame.mixer.get_init()  #测试混音器是否初始化
    #如果混音器已初始化,则返回正在使用的播放参数。如果混音器尚未初始化,则返回None
    #get_init() -> (frequency, format, channels)
    #(22050, -16, 2)

    资料:https://blog.csdn.net/Rita_Aloha/article/details/106378008?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase 

  • 相关阅读:
    Apache Tomcat Ajp CVE-2020-1938漏洞复现
    关于JDK高版本下RMI、LDAP+JNDI bypass的一点笔记
    javaweb-codereview 学习记录-5
    java 动态代理机制
    关于<Java 中 RMI、JNDI、LDAP、JRMP、JMX、JMS那些事儿(上)>看后的一些总结-2
    关于<Java 中 RMI、JNDI、LDAP、JRMP、JMX、JMS那些事儿(上)>看后的一些总结-1
    javaweb-codereview 学习记录-4
    从0到1掌握某Json-TemplatesImpl链与ysoserial-jdk7u21的前因后果
    javaweb-codereview 学习记录-2
    javaweb-codereview 学习记录-1
  • 原文地址:https://www.cnblogs.com/liming19680104/p/13155657.html
Copyright © 2020-2023  润新知