|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 西殴 于 2017-2-19 23:03 编辑
问题:为什么下面这个代码不能打开中文名的文件
- import pygame as pg
- import os
- name = '我.mp3'
- def play_music(music_file):
- '''
- 流音乐和混合器。
- 音乐模块以阻塞方式将这流从磁盘的声音在播放
- '''
- clock = pg.time.Clock()
- try:
- pg.mixer.music.load(music_file)
- print("正在播放 {} !".format(music_file))
- except pg.error:
- print("{} 出现异常 {}".format(music_file, pg.get_error()))
- return
- pg.mixer.music.play()
- # 检查是否播放结束
- while pg.mixer.music.get_busy():
- #pass
- clock.tick(30)
- # 选择一个mid或MP3的文件
- # 或给一个完整的音乐文件路径
- music_file = name
- freq = 44100 # 声音频率的质量
- bitsize = -16 # 16位无符号
- channels = 2 # 1 是单声道, 2 是立体声
- buffer = 2048 # 采样数(实验得到正确的声音)
- pg.mixer.init(freq, bitsize, channels, buffer)
- pg.mixer.music.set_volume(0.8)# 可以选择0到1.0之间
- try:
- play_music(music_file)
- except KeyboardInterrupt:
- # 如果用户点击Ctrl / C然后退出
- # (只能在控制台模式工作)
- pg.mixer.music.fadeout(1000)
- pg.mixer.music.stop()
- raise SystemExit
复制代码
错误代码如下
- 回溯(最后调用):
- File "F:\音乐测试.py", line 16, in play_music
- pg.mixer.music.load(music_file)
- pygame.error
- 在处理上述异常时,另一个异常发生:
- 回溯(最后调用):
- File "F:\音乐测试.py", line 38, in <module>
- play_music(music_file)
- File "F:\音乐测试.py", line 19, in play_music
- print("{} 出现异常 {}".format(music_file, pg.get_error()))
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 15: invalid continuation byte
复制代码
英文的文件才可以 |
|