diff options
| author | Ece Cinucen <ece.cinucen@qt.io> | 2024-11-28 14:55:35 +0100 |
|---|---|---|
| committer | Ece Cinucen <ece.cinucen@qt.io> | 2024-11-29 11:35:04 +0100 |
| commit | e00c7a9171f5aabc3bae068f45e05794ceaa0e7c (patch) | |
| tree | 846e9b716071fa2df8bd3cbaed271ee90378377d | |
| parent | e974afba76f0bfa79a6cff8966c14f93699476b9 (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.py | 13 |
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) |
