我有一直在後臺運行的音樂和一些會在觸發時播放聲音的活動。音樂工作正常。如何在pygame中同時播放多個聲音?
pygame.mixer.music.load(os.path.join(SOUND_FOLDER, 'WateryGrave.ogg'))
我的問題是,當有2個或更多的活動觸發的聲音,那麼只有一個會被播放(不包括背景音樂),其餘均爲靜音。有沒有解決這個問題的方法?
我有一直在後臺運行的音樂和一些會在觸發時播放聲音的活動。音樂工作正常。如何在pygame中同時播放多個聲音?
pygame.mixer.music.load(os.path.join(SOUND_FOLDER, 'WateryGrave.ogg'))
我的問題是,當有2個或更多的活動觸發的聲音,那麼只有一個會被播放(不包括背景音樂),其餘均爲靜音。有沒有解決這個問題的方法?
您可以使用調音臺添加聲音,以不同的渠道:
pygame.mixer.Channel(0).play(pygame.mixer.Sound('sound\gun_fire.wav'))
pygame.mixer.Channel(1).play(pygame.mixer.Sound('sound\enemy_hit.wav'))
內的每個通道仍然可以一次只播放一個聲音,但你可以組聲音分爲不同的渠道,如果他們需要打與此同時。
您可以添加更多的渠道是這樣的:
pygame.mixer.set_num_channels(10) # default is 8
一個簡單的例子。有關渠道的文檔,請訪問:
https://www.pygame.org/docs/ref/mixer.html#pygame.mixer.Channel
你錯誤地與頻道參數: >>頻道參數用於指定是否使用單聲道或立體聲。 1爲單聲道,2爲立體聲。沒有其他值被支持(負值被視爲1,大於2的值爲2) –
@DamienJALLON woops,事實上你是對的,我錯了代碼。我更新了我的答案。謝謝! – The4thIceman
有與在這裏工作的答案類似的問題:http://stackoverflow.com/questions/15385727/pygame-mixer-only-plays-one一次聽出來 – Benjie