python pygame音乐从文本文件加载

时间:2016-12-22 18:34:39

标签: python

我制作了一个音乐播放器,它使用了一个带有我的歌曲名称的列表,但它真的很烦人,所以我制作了一个文本文件,里面有每首歌的名字。 我将文本转换为列表,然后我尝试加载第一首歌但它不会加载。 这是我的代码:

SongPath = '/home/pi/Desktop/Muziek/'
f = open(SongPath + 'Songs.txt')
Song = f.readlines()
print(SongPath + Song[0])
print('Music Player(Alpha2.2)')
import pygame
from time import sleep
sorted(Song)
CurrentSong = 0
State = 'Playing'
pygame.mixer.init()
pygame.mixer.music.load(SongPath + Song[0])
pygame.mixer.music.play()
print("Songs:")
for i in range(0, len(Song)):
    print(i+1, Song[i])
print('\nStarted auto play on:\n' + Song[CurrentSong])

... 有更多的代码,但它与这个问题无关。 但当我加载它时,它说:

/home/pi/Desktop/Muziek/Toto-Afrika.mp3
Music Player(Alpha2.3)
Traceback (most recent call last):
    File "/home/pi/ABC.py", line 13, in <module>
        pygame.mixer.music.load(SongPath + Song[0])
pygame.error:
Couldn't open '/home/pi/Desktop/Muziek/Toto-Africa.mp3'

Btw图片没有上传所以我输入了它。

1 个答案:

答案 0 :(得分:2)

cmd.get( ` cd /path/to/files/ trimp3 ant.mp3 ant2.mp3 00:00 00:20 `, function(data){ console.log('node-cmd output:\n\n',data) } ); 会返回一个字符串列表,每个字符串的换行符f.readlines()仍附加到结尾。

所以它实际上是在尝试加载'\n'(更仔细地查看原始错误消息而不是重新输入的版本:结束报价是否实际显示在下面文件名的行上?)

试试这个:

'/home/pi/Desktop/Muziek/Toto-Africa.mp3\n'