我正在尝试创建一个VolumeSlider小部件来改变我的音频输出的音量。
log.debug("Starting audio player (%s)..." % url)
mediaSource = Phonon.MediaSource(url)
mediaSource.setAutoDelete(True)
self.player = Phonon.createPlayer(Phonon.VideoCategory, mediaSource)
self.player.setTickInterval(100)
self.player.tick.connect(self.updatePlayerLength)
self.mediaSlider.setMediaObject(self.player)
audioOutput = Phonon.AudioOutput(Phonon.MusicCategory)
Phonon.createPath(self.player, audioOutput)
self.mediaVolumeSlider.setAudioOutput(audioOutput)
self.player.play()然而,即使我可以移动音量滑块,实际的音量也不会改变。我错过了什么?
发布于 2012-10-31 01:16:08
我从来没有使用过Phonon.createPlayer,因为它看起来完全令人费解。显然,它应该是一个在媒体对象和音频输出之间创建路径的“便利”函数。但它只给出了对媒体对象的引用。似乎无法访问音频输出对象,这似乎使其完全无用(但我很可能遗漏了一些东西)。
无论如何,我认为显式地创建路径要方便得多,这样就可以清楚地知道所有部分是如何连接在一起的。
下面的代码可以在Linux和WinXP上运行:
self.media = Phonon.MediaObject(self)
self.video = Phonon.VideoWidget(self)
self.audio = Phonon.AudioOutput(Phonon.VideoCategory, self)
Phonon.createPath(self.media, self.audio)
Phonon.createPath(self.media, self.video)
self.slider = Phonon.VolumeSlider(self)
self.slider.setAudioOutput(self.audio)https://stackoverflow.com/questions/13130804
复制相似问题