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

Python pygame 播放音樂完整教學:兩種常用方法與程式碼範例

     編輯:更多程式設計知識

pygame.mixer 模組提供簡單易用的音訊播放功能,支援 MP3、WAV、OGG 等格式。本文介紹兩種常見播放音樂的寫法,並說明關鍵參數用法,適合遊戲開發、多媒體應用入門參考。

方法一:基本播放流程(不需手動初始化)

pygame 會在第一次呼叫 pygame.mixer.music 時自動初始化混音器,適合簡單腳本:

import pygame

filename = '/home/A.mp3'
pygame.mixer.music.load(filename)
pygame.mixer.music.play(loops=0, start=0.0)
  • loops=0:播放一次;設為 -1 可無限循環
  • start=0.0:從頭開始播放(秒數),可指定跳轉位置

方法二:明確初始化混音器(建議用於正式專案)

手動呼叫 pygame.mixer.init() 可自訂取樣率、位元深度、聲道數,避免預設值不相容問題:

import pygame

filename = '/home/pengtao/Music/b.mp3'
pygame.mixer.init()           # 可加參數:frequency=44100, size=-16, channels=2, buffer=4096
pygame.mixer.music.load(filename)
pygame.mixer.music.play(1)    # 播放 2 次(1 表示重複 1 次,共播 2 次)

常用控制函式

函式說明
pygame.mixer.music.pause()暫停播放
pygame.mixer.music.unpause()繼續播放
pygame.mixer.music.stop()停止播放
pygame.mixer.music.set_volume(0.5)設定音量(0.0~1.0)
pygame.mixer.music.get_pos()取得目前播放位置(毫秒)
pygame.mixer.music.queue(next_track)排入下一首(無縫銜接)

完整範例:簡易音樂播放器

import pygame
import time

pygame.mixer.init()
pygame.mixer.music.load('song.mp3')
pygame.mixer.music.play(-1)  # 無限循環

print("播放中... 按 Ctrl+C 停止")
try:
    while pygame.mixer.music.get_busy():
        time.sleep(1)
except KeyboardInterrupt:
    pygame.mixer.music.stop()
    print("已停止")

注意事項

  • MP3 支援需系統安裝相應解碼器(Linux 需 libmpg123,Windows 通常內建)
  • 大型音效檔建議用 pygame.mixer.Sound 載入記憶體,music 適合串流播放長音樂
  • 程式結束前記得呼叫 pygame.mixer.quit() 釋放資源
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved