一起用python做个炫酷音乐播放器,想听啥随便搜( 四 )

效果如下所示:

一起用python做个炫酷音乐播放器,想听啥随便搜

文章插图
 
5. 本地歌曲读取播放首先我们可以对本地文件夹目录下的音乐进行读取添加到本地歌曲列表中,根据歌曲的文件名进行列表显示 。核心代码如下:
# 本地歌曲文件夹读取添加def add(self):try:global SongPathglobal SongNameglobal numglobal filewglobal asasfileN = QFileDialog.getExistingDirectory(None, "选取文件夹", "")if not fileN == '':self.listwidget5.clear()filew = fileN + '/'asas = filewl1 = [name for name in listdir(fileN) if name.endswith('.mp3') or name.endswith('.flac') or name.endswith('.wma') or name.endswith('.MP3') or name.endswith('.FLAC') or name.endswith('.WMA')]SongNameadd = l1SongPathadd = [filew + i for i in SongNameadd]SongName = SongName + SongNameaddSongPath = SongPath + SongPathaddprint(SongPath)r = 0for i in SongName:self.listwidget5.addItem(i)# 将文件名添加到listWidgetself.listwidget5.item(r).setForeground(Qt.white)r = r + 1except:filew = asas 
当然我们还可以对本地加载歌曲进行双击播放,首先我们需要将本地歌曲子列表页面中进行双击事件绑定 。
self.tab5 = QWidget()self.tab5.setObjectName("tab5")self.tab5_layout = QGridLayout()self.tab5.setLayout(self.tab5_layout)self.listwidget5 = QListWidget(self.tab5)self.listwidget5.doubleClicked.connect(lambda: self.change(self.listwidget5))self.listwidget5.setContextMenuPolicy(Qt.CustomContextMenu)self.listwidget5.customContextMenuRequested[QPoint].connect(self.myListWidgetContext5)【一起用python做个炫酷音乐播放器,想听啥随便搜】对子列表页面进行绑定之后,接下来我们就可以完成双击事件,获取歌曲名称,并进行本地播放 。
# 加载当前播放的本地歌曲def change(self, listwidget):global numglobal bo# print (item.flags())bo = 'local'num = int(listwidget.currentRow())print(num)# self.label.setText(wenjianming)#设置标签的文本为音乐的名字f = str(SongName[num]).split('.mp3')f = str(f[0]).split('.flac')f = str(f[0]).split('.MP3')f = str(f[0]).split('.FLAC')f = str(f[0]).split('.wma')f = str(f[0]).split('.WMA')self.label.setText(f[0])print(listwidget.currentRow())self.bofanglocal()# 本地音乐播放def bofanglocal(self):try:global pausetry:self.photo('local')except:passself.console_button_3.setIcon(icon('fa.pause', color='#F76677', font=18))pause = Falsefill = SongPath[num]print(fill)try:global timenummp3 = str(SongPath[num])xx = load(mp3)timenum = xx.info.time_secsglobal startstart = Trueexcept:print('进度条错误,播放失败')try:mixer.stop()except:passtry:mixer.music.load(SongPath[num])# 载入音乐mixer.music.play()# 播放音乐except:print('MP3音频文件出现错误')except:sleep(0.1)print('system error')self.next()pass音乐播放器的本地音乐播放功能效果如下:
一起用python做个炫酷音乐播放器,想听啥随便搜

文章插图
 




推荐阅读