pygame.mixer.music--音頻


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 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM