跳至正文
View Categories

< 1 min read

主要内容 #

  • 播放按钮模块
  • 双击音乐列表模块

音乐 #

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. 小结 #

  • 本章完成了音乐播放器的播放按钮模块
  • 本章完成了音乐播放器的双击音乐列表模块

习题 #