Управление громкостью системы с помощью Python, QT: PySide.phonon.Phonon.AudioOutputDevice - PullRequest
3 голосов
/ 28 января 2011

Я хотел бы получить доступ (r / w) к Master Volume Control. Я в настоящее время использую Windows 7.

Существуют «низкоуровневые» возможности управления им: Интерфейс управления громкостью приложений Vista / Win7

Более старый вариант использует ctypes и Windows DLL: http://mail.python.org/pipermail/python-win32/2006-March/004436.html и, вероятно, производная работа (требуется pymedia): http: // code.google.com/p/palarm/downloads/detail?name=alarmwaveout.py&can=2&q=

Для кроссплатформенности это все равно не работает, поэтому я подумал об использовании инструментария. QT, pyQT или PySide пришли на ум, так как я давно хотел поэкспериментировать с QT:

 #!/usr/bin/python

 import sys
 from PySide.QtCore import *
 from PySide.QtGui import *

 import PySide.phonon

 app = QApplication(sys.argv)

 devicelist = PySide.phonon.Phonon.BackendCapabilities.availableAudioOutputDevices()
 print "Listing available audio output devices:"
 for device in devicelist:
  print " device:", device
  print "  description:", device.description()
  print "  index:", device.index()
  print "  isValid:", device.isValid()
  print "  name:", device.name()
  print "  property:", device.property( str( device.name() ) )
  print "  propertyNames:", device.propertyNames()
  print

 #~ audiodev = PySide.phonon.Phonon.AudioOutput()
 #~ slider = PySide.phonon.Phonon.VolumeSlider(audiodev)

 slider = PySide.phonon.Phonon.VolumeSlider( None )
 slider.setOrientation( Qt.Vertical )
 slider.show()

 app.exec_()
 sys.exit()

Но я не понимаю, как подключить VolumeSlider к аудиоустройству (в данном случае Master («Динамики») или по умолчанию).

...