2017-12-30 51 views
-1
import pygame as pg, sys 
from pygame.locals import * 
import os 

pg.mixer.pre_init(44100, 16, 2, 4096) 
pg.init() 

a = pg.mixer.music.load("./Sounds/ChessDrop2.wav") 
a.play() 

위의 코드는 파이 게임을 통해 사운드를 재생할 수 있는지 테스트하기 위해 작성한 것입니다. 내 'ChessDrop2.wav'파일은 파일이 32 비트 PCM 일 때 파이 게임이 알 수없는 형식으로 인식하므로 16 비트 wav-PCM 파일입니다. 이제 코드를 실행할 때 오류가 사라졌지 만 아래 오류가 대신 내 셸에서 팝업됩니다. 변수 'a'에 사운드 파일을 할당 했으므로 사운드가 재생되지 않아야합니까? 내 파이썬 버전은 3.6.1이고 파이 게임은 1.9.3입니다. @CaMMelo가 언급 한 바와 같이 당신이NoneType 객체에 'play'속성이 없습니다.

pg.mixer.music.play() 
+0

오류를 파일에서 새로운 사운드 객체를 생성 또는 버퍼는'그 부하()'리턴'None'을 의미하고, 마지막으로 당신이 할 시도 'None.play()'. 문서를 확인 했습니까? – furas

답변

2

이 기능을 확인, 어떤 개체를 사용할 문서를 반환하지 않습니다 pygame.mixer.music.load(filename) 메서드는 개체를 반환하지 않습니다.

그러나로드 후 반환 개체를 찾으려면 pygame.mixer.Sound을 시도해보십시오.

pygame.mixer.Sound
객체

from pygame import mixer 
mixer.init() 
sound = mixer.Sound("yourWaveFile.wav") 
sound.play() 
관련 문제