C:\Users\Nick\Desktop\Vincible
에 위치하고 있으며 나는
C:\Users\Nick\Desktop\Vincible\Audio
에있는 미디 파일에 액세스하기 위해 노력하고있어
내가 함께 넣어했습니다
#!C:\Python33\python.exe import sys, pygame, os.path print("Loading...") pygame.mixer.pre_init(44100, -16, 2, 2048) try: pygame.mixer.music.load(os.path.join('Audio', 'title.midi')) pygame.mixer.music.load(os.path.join('Audio', 'dun1.midi')) pygame.mixer.music.load(os.path.join('Audio', 'dun2.midi')) pygame.mixer.music.load(os.path.join('Audio', 'dun3.midi')) pygame.mixer.music.load(os.path.join('Audio', 'dun4.midi')) pygame.mixer.music.load(os.path.join('Audio', 'dun5.midi')) pygame.mixer.music.load(os.path.join('Audio', 'dun6.midi')) pygame.mixer.music.load(os.path.join('Audio', 'echostheme')) pygame.mixer.music.load(os.path.join('Audio', 'town1.midi')) pygame.mixer.music.load(os.path.join('Audio', 'town2.midi')) pygame.mixer.music.load(os.path.join('Audio', 'town3.midi')) except: raise UserWarning("Could not load or play soundfiles in 'Audio' folder") pygame.init() size = width, height = 580, 444 screen = pygame.display.set_mode(size) print("Loaded!") while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() pygame.mixer.Sound('title.midi').play()
그것을 실행되면, 그것은 비트와 I를 제외하고 실행 을 성공적으로 수행하는 방법을 설명하기 위해 고심하고 있습니다. 나는 일반적으로 으로 파이썬에서 다른 경로의 파일에 액세스하지 않으므로 도움이 매우 도움이됩니다. 많이 감사합니다.
편집 : 미묘하게 요청하면 코드에서 try/except를 삭제했습니다.
#!C:\Python33\python.exe import sys, pygame, os.path print("Loading...") pygame.mixer.pre_init(44100, -16, 2, 2048) pygame.init() pygame.mixer.music.load(os.path.join('Audio', 'title.midi')) pygame.mixer.music.load(os.path.join('Audio', 'dun1.midi')) pygame.mixer.music.load(os.path.join('Audio', 'dun2.midi')) pygame.mixer.music.load(os.path.join('Audio', 'dun3.midi')) pygame.mixer.music.load(os.path.join('Audio', 'dun4.midi')) pygame.mixer.music.load(os.path.join('Audio', 'dun5.midi')) pygame.mixer.music.load(os.path.join('Audio', 'dun6.midi')) pygame.mixer.music.load(os.path.join('Audio', 'echostheme')) pygame.mixer.music.load(os.path.join('Audio', 'town1.midi')) pygame.mixer.music.load(os.path.join('Audio', 'town2.midi')) pygame.mixer.music.load(os.path.join('Audio', 'town3.midi')) size = width, height = 580, 444 screen = pygame.display.set_mode(size) print("Loaded!") while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() pygame.mixer.Sound('title.midi').play()
이 시간이 다 넣어 : 여기에 새로운 코드
Traceback (most recent call last): File "C:\Users\Nick\Desktop\Vincible\Vincible.py", line 8, in <module> pygame.mixer.music.load(os.path.join('Audio', 'title.midi')) pygame.error: Couldn't open 'Audio\title.midi'
파일이 손상되지이며
Vincible\Audio
에 참으로하지만 여전히이 오류를 반환하는 것 . 나는이을 os.path 모듈에 새로운 해요, 다시 다음
os.path.join
하지만 내 사용과 관련 수있는 뭔가가 상상하는 것입니다. 어떤 도움도 대단히 입니다.
프레드릭 권장, 나는이 내 코드를 수정 시도 :
#!C:\Python33\python.exe
import sys, pygame, os.path
print("Loading...")
pygame.mixer.pre_init(44100, -16, 2, 2048)
pygame.init()
def load(midi_file):
module_directory = os.path.dirname(__file__)
filename = os.path.join(module_directory, 'Audio', midi_file)
pygame.mixer.music.load(filename)
load("title.midi")
size = width, height = 580, 444
screen = pygame.display.set_mode(size)
print("Loaded!")
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
titlemusic.play(-1)
참고 : 나는 더 읽기/코드 작게 멀리 다른 .midi 파일을 모두했다, 문제가 후 해결되었으므로 올바른 방식으로 추가됩니다.
실행하면 해석기가 다른 pygame.error 파일을 13 행 ("title.midi"를로드 할 때)에서 열 수 없습니다. 어떤 도움을 주셔서 감사합니다. .
단지 '예외'가 없다면 실제로 어떤 오류가 생성되었는지 확인할 수 있습니다 ... 아마도 스스로 문제를 해결할 수 있습니다. 적어도 우리를 도울 수있는 것에 더 가까이 가십시오. – kindall
오른쪽, 죄송합니다. 나는 그것을 시도하고 새로운 결과를보고 할 것입니다. –
수수께끼. 그래서 이것이 파이 게임이 당신이나 다른 일을 저지르고 있는지 확인하기 위해 파이 게임로드 호출 바로 전에'open (filename) .read()'를 추가하여 파일이 실제로 읽을 수 있는지 확인하려고합니다. – Fredrik