>  기사  >  백엔드 개발  >  파이게임에서 중국어 이름의 mp3 파일을 로드할 때 발생하는 오류 해결 방법에 대한 자세한 설명

파이게임에서 중국어 이름의 mp3 파일을 로드할 때 발생하는 오류 해결 방법에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-03-31 10:04:343380검색

#pygame은 mp3 파일을 재생합니다:

여기서 저자는 이해하기 쉬운 방법만 소개합니다

파이게임에서 중국어 이름의 mp3 파일을 로드할 때 발생하는 오류 해결 방법에 대한 자세한 설명

공식 문서를 열어보니 발견했습니다. 발견과 마찬가지로 이 사람은 너무 강력해서 이제 mp3를 재생하는 데만 사용할 수 있습니다. 나머지는 나중에 발견하게 될 것입니다. mp3 재생을 위한 테스트 코드는 다음과 같습니다. 🎜>

import pygame
path = 'Pam Pam - Noel Toto.mp3'pygame.mixer.init()
pygame.mixer.music.load(path)
pygame.mixer.music.play()
그 중 path는 재생할 mp3 파일의 경로와 파일명을 나타냅니다. 여기서 작성자는 mp3를 정상적으로 재생할 수 있는 원본 Idle을 사용합니다.

# 버그 발견:

다음은 오후에 음악목록 테스트를 마쳤을 때 발생한 문제, 즉 로딩할 mp3 파일 이름에 중국어가 포함되어 있는 경우, pygame.error 입니다.

파이게임에서 중국어 이름의 mp3 파일을 로드할 때 발생하는 오류 해결 방법에 대한 자세한 설명

이 나오네요.. 출력경로를 보니 중국어가 깨져있는 글자가 없더라구요. 중국어는 피해야 합니다. 어떤 사람들은 인코딩을 변경할 수 있다고 했지만 시도해 보니, Stack

Overflow와 같은 영어 커뮤니티에서는 결국 이 문제에 대한 해결책이 없습니다. "우리 자신의 일"에 대해서는 별로 신경 쓰지 않습니다. 그래서 오랫동안 검색한 결과 효과적인 해결책을 찾을 수 없었습니다. 물론 이것은 전문가가 변경하여 해결할 수 있어야 합니다. 이건 제가 할 수 있는 일이 아닙니다^_^.#debug:

작성자가 재미있는 방법을 생각해냈는데, 더 나은 구현 방법이 있어야 합니다. 먼저 내 디버깅 아이디어에 대해 뻔뻔하게 이야기합니다.

우선 중국어 이름 mp3를 만나면 .error가 나타납니다. 이때 프로그램에 심각한 오류가 발생했다고 생각하는 것은 당연합니다.

try문

이렇게 하면 한자명 mp3가 나오면 자동으로 제외된 내용으로 이동해서 재생하려는 파일을 지정된 디렉터리에 복사하려고 합니다. 마지막으로 중국어가 아닌 mp3 파일을 로드하여 pygame의 중국어 인식 결함을 우회합니다.

import pygameimport shutil
path = '一走过的日子-刘德华.mp3'pygame.mixer.init()try:
    pygame.mixer.music.load(path)
    pygame.mixer.music.play()except:    print('something is wrong~\nbut i see you.')
    shutil.copyfile(path,'play.mp3')
    pygame.mixer.music.load('play.mp3')
    pygame.mixer.music.play()
# 실행 효과:

이때 프로그램은 중국어 mp3 파일을 정상적으로 재생할 수 있습니다. 사실 이 문제는 파이게임의 중국어 인식 문제를 근본적으로 해결하지는 못하지만, 이 방법에도 단점이 있습니다. play.mp3 파일은 프로젝트 작업 시 파이게임에서 중국어 이름의 mp3 파일을 로드할 때 발생하는 오류 해결 방법에 대한 자세한 설명cache

디렉토리에 배치될 수 있습니다.

이 시점에서 파이게임 중국어 인식 문제를 해결하는 방법에 대한 설명이 발생했습니다. 오후에 완료되었습니다. 더 좋은 방법이 있으면 의견을 보내주시고 방법을 알려주세요. 감사합니다.

방금 python3.3.3 pygame 디렉토리를 살펴보고 mix.pyd 파일을 찾았습니다. .pyd 접미사를 찾아보니 dll과 같은 바이너리 파일입니다. 내용을 변경하려면 해당 파일을 디컴파일해야 합니다. 즉, Python은 완전한 오픈 소스가 아닙니다.

위 내용은 파이게임에서 중국어 이름의 mp3 파일을 로드할 때 발생하는 오류 해결 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.