使用pyqt编写一个音乐播放的软件,软件有三个按钮,一个播放开始,控制音乐的播放;一个为播放暂停,控制音乐暂停;一个为静音,点击后音乐音量为0,再次点击后音乐音量恢复。界面上显示音乐播放进度。
时间: 2023-06-14 10:08:23 浏览: 119
我用PYQT5做的第一个实用的上位机项目(三)
好的,下面是一个简单的音乐播放软件的代码,使用PyQt5编写:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QProgressBar, QPushButton
from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent
from PyQt5.QtCore import QUrl
class MusicPlayer(QMainWindow):
def __init__(self):
super().__init__()
self.media_player = QMediaPlayer(self)
self.media_player.setVolume(50) # 设置默认音量为50
self.init_ui()
def init_ui(self):
# 设置窗口标题、大小和位置
self.setWindowTitle('音乐播放器')
self.setGeometry(300, 300, 400, 150)
# 创建进度条并添加到窗口
self.progress_bar = QProgressBar(self)
self.progress_bar.setGeometry(30, 50, 340, 20)
# 创建三个按钮并添加到窗口
self.play_button = QPushButton('播放', self)
self.play_button.setGeometry(30, 90, 75, 30)
self.play_button.clicked.connect(self.play_music)
self.pause_button = QPushButton('暂停', self)
self.pause_button.setGeometry(130, 90, 75, 30)
self.pause_button.clicked.connect(self.pause_music)
self.mute_button = QPushButton('静音', self)
self.mute_button.setGeometry(230, 90, 75, 30)
self.mute_button.clicked.connect(self.mute_music)
def play_music(self):
# 播放音乐
file_path = 'your_music_file_path'
self.media_player.setMedia(QMediaContent(QUrl.fromLocalFile(file_path)))
self.media_player.play()
def pause_music(self):
# 暂停音乐
self.media_player.pause()
def mute_music(self):
# 静音/取消静音
if self.media_player.isMuted():
self.media_player.setMuted(False)
else:
self.media_player.setMuted(True)
def update_progress_bar(self):
# 更新进度条
duration = self.media_player.duration()
position = self.media_player.position()
self.progress_bar.setMaximum(duration)
self.progress_bar.setValue(position)
def closeEvent(self, event):
# 关闭窗口时停止音乐播放
self.media_player.stop()
if __name__ == '__main__':
app = QApplication(sys.argv)
music_player = MusicPlayer()
music_player.show()
sys.exit(app.exec_())
```
在这里,我们使用`QMediaPlayer`类来播放音乐,`QProgressBar`类来显示音乐播放进度。在`play_music()`方法中,我们设置音乐文件路径并使用`setMedia()`方法加载音乐;在`pause_music()`方法中,我们使用`pause()`方法暂停音乐;在`mute_music()`方法中,我们使用`setMuted()`方法来静音或取消静音;在`update_progress_bar()`方法中,我们更新进度条的最大值和当前值。最后,在程序退出时,我们使用`stop()`方法停止音乐播放。
请注意,由于音乐文件路径不同,您需要将代码中的`your_music_file_path`替换为实际的音乐文件路径。
阅读全文