首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Python PyGame 播放 MIDI/MP3 音樂:mixer 模組串流播放控制

     編輯:更多程式設計知識

pygame.mixer.music 提供串流播放音樂功能,支援 MIDI、MP3、OGG 等格式。本例示範初始化混音器、載入音樂、播放、音量控制與淡出停止。

完整播放器程式碼


import pygame as pg

def play_music(music_file):
    clock = pg.time.Clock()
    try:
        pg.mixer.music.load(music_file)
        print("Music file {} loaded!".format(music_file))
    except pg.error:
        print("File {} not found! {}".format(music_file, pg.get_error()))
        return
    pg.mixer.music.play()
    while pg.mixer.music.get_busy():
        clock.tick(30)

# 設定混音器參數
freq = 44100      # CD 品質
bitsize = -16     # 16-bit 有號
channels = 2      # 立體聲
buffer = 2048     # 緩衝區大小
pg.mixer.init(freq, bitsize, channels, buffer)
pg.mixer.music.set_volume(0.8)

music_file = "Latin.mid"  # 或 "Drumtrack.mp3"
try:
    play_music(music_file)
except KeyboardInterrupt:
    pg.mixer.music.fadeout(1000)
    pg.mixer.music.stop()
    raise SystemExit

關鍵參數說明

參數建議值說明
freq44100取樣率,44.1kHz 為 CD 標準
bitsize-1616-bit 有號整數(負號表有號)
channels21=單聲道,2=立體聲
buffer2048樣本數,影響延遲與流暢度

控制函式

  • play()、stop()、pause()、unpause()
  • fadeout(ms):淡出停止,避免突兀斷音。
  • set_volume(0.0~1.0):主音量。
  • get_busy():是否正在播放。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved