Радио плеер на python.

Время на прочтение: < 1 минуты

скрипт аудио плеера для воспроизведения одного потока.
Требует обязательного модуля qt5

import sys
from PyQt5.QtCore import Qt, QUrl, QIODevice
from PyQt5.QtGui import QPalette, QColor
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QSlider, QVBoxLayout
from PyQt5.QtMultimedia import QMediaPlaylist, QMediaContent, QMediaPlayer

class RadioWindow(QMainWindow):
def __init__(self):
super().__init__()

# Создаем кнопку управления воспроизведением
self.play_button = QPushButton("Воспроизвести", self)
self.play_button.setGeometry(50, 50, 100, 30)
self.play_button.clicked.connect(self.play_pause)

# Создаем ползунок громкости
self.volume_slider = QSlider(Qt.Horizontal, self)
self.volume_slider.setGeometry(50, 90, 210, 30)
self.volume_slider.setValue(50)
self.volume_slider.valueChanged.connect(self.change_volume)

# Создаем кнопку выхода
self.exit_button = QPushButton("Выход", self)
self.exit_button.setGeometry(160, 50, 100, 30)
self.exit_button.clicked.connect(self.close)

# Устанавливаем цвета для окна
palette = self.palette()
palette.setColor(QPalette.Window, QColor(53, 53, 53))
palette.setColor(QPalette.WindowText, Qt.white)
palette.setColor(QPalette.Button, QColor(53, 53, 53))
palette.setColor(QPalette.ButtonText, Qt.white)
self.setPalette(palette)

# Создаем плеер и устанавливаем аудио стрим
self.playlist = QMediaPlaylist()
self.playlist.addMedia(QMediaContent(QUrl("http://")))
self.player = QMediaPlayer()
self.player.setPlaylist(self.playlist)

def play_pause(self):
# Запускаем/останавливаем воспроизведение в зависимости от текущего состояния плеера
if self.player.state() == QMediaPlayer.PlayingState:
self.player.pause()
self.play_button.setText("Воспроизвести")
else:
self.player.play()
self.play_button.setText("Стоп")

def change_volume(self):
# Изменяем громкость звука в зависимости от положения ползунка
self.player.setVolume(self.volume_slider.value())

if __name__ == "__main__":
app = QApplication(sys.argv)
radio_window = RadioWindow()
radio_window.setGeometry(100, 100, 300, 150)
radio_window.setWindowTitle("Интернет-радио")
radio_window.show()
sys.exit(app.exec_())