2

バックグラウンドで音楽をループさせながら、pyGameを使用してサウンドを再生しようとしています-

Horts Jens のデモ コードを使用してテストしました

import pygame
import os

pygame.mixer.pre_init(44100, -16, 2, 2048) # setup mixer to avoid sound lag
pygame.init()                              #initialize pygame

# look for sound & music files in subfolder 'data'
pygame.mixer.music.load(os.path.join('data', 'foxhaunt.ogg'))#load music
jump = pygame.mixer.Sound(os.path.join('data','scream.wav'))  #load sound
fail = pygame.mixer.Sound(os.path.join('data','fail.wav'))  #load sound

# play music non-stop
pygame.mixer.music.play(-1)
if "a" in answer:
        jump.play()
        print "playing jump.wav once"
    elif "b" in answer:
        fail.play()
        print "playing fail.wav once"
    elif "m" in answer:
        if pygame.mixer.music.get_busy():
            pygame.mixer.music.stop()
        else:
            pygame.mixer.music.play()
    elif "q" in answer:
        #break from gameloop
        gameloop = False
    else:
        print "please press either a, b, m or q and ENTER"

への呼び出しは正常にpygame.mixer.music.play(-1)機能し、音楽が聞こえますが、への呼び出しjump.play()fail.play()は何もしません。サウンドの再生が完了するのに十分な時間を確保するために、呼び出しの後に遅延を入れてみましたsound>.play()が、それでも何もしませんでした。

何を探すべきかについてのアイデアはありますか?

プラットフォームは、Wheezy を実行する Raspberry Pi です。

pygame: 1.9.1release+dfsg-8 - python2.7-pygame python2.6-pygame

これを機能させる方法、または機能しない理由を見つけるために何を確認する必要があるかを提案できますか?

乾杯

4

1 に答える 1

0

Aはモジュールのpygame.mixer.Sound()で再生されません。再生を開始するには、サウンド の を呼び出す必要があります。pygame.mixer.music.play()pygame.mixer.music
play()

jump = pygame.mixer.Sound(os.path.join('data','scream.wav'))
jump.play()
于 2020-12-18T09:48:25.597 に答える