aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEce Cinucen <ece.cinucen@qt.io>2024-11-28 14:55:35 +0100
committerEce Cinucen <ece.cinucen@qt.io>2024-11-29 11:35:04 +0100
commite00c7a9171f5aabc3bae068f45e05794ceaa0e7c (patch)
tree846e9b716071fa2df8bd3cbaed271ee90378377d
parente974afba76f0bfa79a6cff8966c14f93699476b9 (diff)
Example: Fix on slider in example player
Slider was not adjusting the volume. This bug on multimedia/player example fixed. Pick-to: 6.8 Change-Id: If73eed44959acaf66727412f2ddff42eb616abee Reviewed-by: Christian Tismer <tismer@stackless.com>
-rw-r--r--examples/multimedia/player/player.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/examples/multimedia/player/player.py b/examples/multimedia/player/player.py
index 9487bbc7f..23fdbb4cc 100644
--- a/examples/multimedia/player/player.py
+++ b/examples/multimedia/player/player.py
@@ -10,7 +10,7 @@ from PySide6.QtGui import QAction, QIcon, QKeySequence
from PySide6.QtWidgets import (QApplication, QDialog, QFileDialog,
QMainWindow, QSlider, QStyle, QToolBar)
from PySide6.QtMultimedia import (QAudioOutput, QMediaFormat,
- QMediaPlayer)
+ QMediaPlayer, QAudio)
from PySide6.QtMultimediaWidgets import QVideoWidget
@@ -93,11 +93,11 @@ class MainWindow(QMainWindow):
self._volume_slider.setMaximum(100)
available_width = self.screen().availableGeometry().width()
self._volume_slider.setFixedWidth(available_width / 10)
- self._volume_slider.setValue(self._audio_output.volume())
+ self._volume_slider.setValue(self._audio_output.volume() * 100)
self._volume_slider.setTickInterval(10)
self._volume_slider.setTickPosition(QSlider.TicksBelow)
self._volume_slider.setToolTip("Volume")
- self._volume_slider.valueChanged.connect(self._audio_output.setVolume)
+ self._volume_slider.valueChanged.connect(self.setVolume)
tool_bar.addWidget(self._volume_slider)
icon = QIcon.fromTheme(QIcon.ThemeIcon.HelpAbout)
@@ -184,6 +184,13 @@ class MainWindow(QMainWindow):
print(error_string, file=sys.stderr)
self.show_status_message(error_string)
+ @Slot()
+ def setVolume(self):
+ self.volumeValue = QAudio.convertVolume(self._volume_slider.value() / 100.0,
+ QAudio.VolumeScale.LogarithmicVolumeScale,
+ QAudio.VolumeScale.LinearVolumeScale)
+ self._audio_output.setVolume(self.volumeValue)
+
if __name__ == '__main__':
app = QApplication(sys.argv)