Implement volume control
This commit is contained in:
parent
de72aad958
commit
08ae286797
5
form.ui
5
form.ui
@ -107,7 +107,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item alignment="Qt::AlignRight">
|
<item alignment="Qt::AlignRight">
|
||||||
<widget class="QSlider" name="horizontalSlider_2">
|
<widget class="QSlider" name="volumeHorizontalSlider">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
@ -128,7 +128,8 @@
|
|||||||
<string>...</string>
|
<string>...</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset theme="audio-volume-medium"/>
|
<iconset theme="audio-volume-medium">
|
||||||
|
<normaloff>.</normaloff>.</iconset>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -24,11 +24,13 @@ class MainWindow(QMainWindow):
|
|||||||
self.__player = QMediaPlayer()
|
self.__player = QMediaPlayer()
|
||||||
self.__audio = QAudioOutput()
|
self.__audio = QAudioOutput()
|
||||||
self.__player.setAudioOutput(self.__audio)
|
self.__player.setAudioOutput(self.__audio)
|
||||||
self.__audio.setVolume(self.ui.horizontalSlider_2.value())
|
self.setVolume()
|
||||||
self.getGroups()
|
self.getGroups()
|
||||||
self.ui.groupslistWidget.itemClicked.connect(self.getStations)
|
self.ui.groupslistWidget.itemClicked.connect(self.getStations)
|
||||||
self.ui.stationslistWidget.itemClicked.connect(self.playRadio)
|
self.ui.stationslistWidget.itemClicked.connect(self.playRadio)
|
||||||
self.ui.toolButton.clicked.connect(self.togglePlayer)
|
self.ui.toolButton.clicked.connect(self.togglePlayer)
|
||||||
|
self.ui.volumeHorizontalSlider.valueChanged.connect(self.setVolume)
|
||||||
|
self.ui.volumeToolButton.clicked.connect(self.toggleMute)
|
||||||
|
|
||||||
def getGroups(self):
|
def getGroups(self):
|
||||||
for el in self.stations_slug["groups"]:
|
for el in self.stations_slug["groups"]:
|
||||||
@ -58,6 +60,21 @@ class MainWindow(QMainWindow):
|
|||||||
else:
|
else:
|
||||||
return json.loads(resp.text)
|
return json.loads(resp.text)
|
||||||
|
|
||||||
|
def setVolume(self, volume: int = None):
|
||||||
|
if volume is None:
|
||||||
|
volume = self.ui.volumeHorizontalSlider.value()
|
||||||
|
self.__audio.setVolume(volume / 100)
|
||||||
|
|
||||||
|
def toggleMute(self):
|
||||||
|
if self.ui.volumeHorizontalSlider.value() == 0:
|
||||||
|
self.ui.volumeHorizontalSlider.setValue(70)
|
||||||
|
self.ui.volumeToolButton.setIcon(QIcon.fromTheme("audio-volume-medium"))
|
||||||
|
self.setVolume(70)
|
||||||
|
else:
|
||||||
|
self.ui.volumeHorizontalSlider.setValue(0)
|
||||||
|
self.ui.volumeToolButton.setIcon(QIcon.fromTheme("audio-volume-muted"))
|
||||||
|
self.setVolume(0)
|
||||||
|
|
||||||
def playRadio(self):
|
def playRadio(self):
|
||||||
station = self.ui.stationslistWidget.selectedItems()[0].text()
|
station = self.ui.stationslistWidget.selectedItems()[0].text()
|
||||||
stream_url = None
|
stream_url = None
|
||||||
|
Loading…
x
Reference in New Issue
Block a user