[英]Loading audio using pygame.mixer
我使用了以前的堆棧溢出文章來幫助我開發以下代碼:
import os
import pygame
from pygame import *
import sys
GAME_FOLDER = os.path.dirname(__file__)
IMG_FOLDER = os.path.join(GAME_FOLDER, "img")
from time import sleep
pygame.mixer.init()
pygame.mixer.music.load(os.path.join(IMG_FOLDER, 'Noota.mp3'))
print("p")
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
sleep(1)
print ("done")
而且雖然加載代碼時沒有顯示錯誤消息,但它不會播放音樂。 相反,我聽到的只是“滴答”聲(大約每秒一滴答聲)。 我想知道是否有人知道為什么會這樣,以及我如何解決它。
作為參考,我在mackintosh計算機上使用python 3,並且在使用媒體播放器加載時,音樂文件確實在計算機上播放。
謝謝!
首先,您可以嘗試將音頻文件加載為pygame.mixer.Sound
並使用SoundName.play()
來檢查它是否沒有被mixer.load()
損壞(如果仍然發生),則可能是音頻文件有問題,請使用通用且最新的格式(如.ogg),使其適用於所有平台
同樣,由於sleep停止所有功能,因此time.sleep()
可能會使聲音混亂,在這種情況下可能會停止聲音。 如果您嘗試使用聲音方法,請參見以下示例:
import os
import pygame
from pygame import *
import sys
GAME_FOLDER = os.path.dirname(__file__)
IMG_FOLDER = os.path.join(GAME_FOLDER, "img")
from time import sleep
noota = pygame.mixer.sound(os.path.join(IMG_FOLDER, 'Noota.mp3'))
print("p")
noota.play()
# Maybe the music is being cut off here v
while pygame.mixer.music.get_busy():
sleep(1)
print ("done")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.