主要内容 #
- 播放按钮模块
- 双击音乐列表模块
音乐 #
1. 播放按钮模块 #
以下程序完成音乐播放器的播放功能。
即,当按下播放键后,就可以播放该音乐。
def tips(self, message):
"""
提示
"""
QMessageBox.about(self, "提示", message)
def play_music(self):
"""
播放音乐
"""
if self.qlist.count() == 0:
self.tips('当前路径内无可播放的音乐文件')
return
if not self.player.isAudioAvailable():
self.set_cur_playing()
if self.is_pause or self.is_switching:
self.player.play()
self.is_pause = False
self.play_button.setText('暂停')
elif (not self.is_pause) and (not self.is_switching):
self.player.pause()
self.is_pause = True
self.play_button.setText('播放')
完成音乐文件的播放功能后,还需要设计一个按钮。
将该按钮与音乐播放的功能进行连接。
程序如下:
# 在self.init()中找到如下这部分代码
# --播放按钮
self.play_button = QPushButton('播放', self) # 播放/暂停按钮
# 并且在下一行增加如下这段代码
self.play_button.clicked.connect(self.play_music) # 设置对应操作
将以上所有代码加入到MusicPlayer类中,并且在self.init()函数中做好相应的修改。
再次运行程序,查看具体效果。
2. 双击音乐列表模块 #
以上程序中,我们只能听到当前一首音乐的播放。
当我们需要手动点击音乐选项时,却无任何效果。
以下程序则可以实现该功能:当在列表中双击某个音乐文件时,可以播放该音乐文件。
def double_clicked(self): """ 双击播放音乐 """ self.play_slider.setValue(0) # 滑动条设置为0 self.is_switching = True # 表征当前是通过手动切换的操作 self.set_cur_playing() # 设置为当前播放文件 self.play_music() # 播放对应文件 self.is_switching = False # 将对应flag设置为false
完成音乐文件的播放功能后,还需要设计一个按钮。
将该按钮与音乐播放的功能进行连接。
程序如下:
# 在self.init()中找到如下这部分代码
# --显示音乐列表
self.qlist = QListWidget() # 音乐列表
# 并且在下一行增加如下这段代码
self.qlist.itemDoubleClicked.connect(self.double_clicked) # 设置对应操作
将以上所有代码加入到MusicPlayer类中,并且在self.init()函数中做好相应的修改。
再次运行程序,查看具体效果。
3. 小结 #
- 本章完成了音乐播放器的播放按钮模块
- 本章完成了音乐播放器的双击音乐列表模块
习题 #
- 无