Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Question about Vista/7 volume controller.



  • On windows XP I use QT's windows.h (api) but for Vista/7 MSDN say me=) use Microsoft SDK's for VS 2010 audioclient.h and audiopolicy.h... I want to build client-server application for mobile and computer but I won't stop programming on Qt... what I must do for it?



  • I don't understand your question. You're playing/streaming audio and you want to do it through "WASAPI":http://msdn.microsoft.com/en-us/library/dd370851(VS.85).aspx on Windows 7 - but since that doesn't exist for Windows XP you don't know what to do?

    Why don't you tell us what you're trying to achieve (not which API you want to use) and we can tell you if it's possible in Qt? :)



  • Oh sorry... I want create application "volume controller for vista/7" windows.h give possibility for windows XP.... I read about Vista/7 developers use wasapi - http://msdn.microsoft.com/en-us/library/dd371455(VS.85).aspx, but What about Qt?



  • Hello,
    It's so simple to make using Qt Phonon library. Search for "volume" in your Qt creator help. You'll find articles fit to your need.



  • I suggest you to use Phonon as moshen said. On Windows it uses DirectX to handle audio. :-)



  • Phonon give possibility to control application's volume(music player) but what about system volume?



  • Not only for application's volume. It also handles audio device



  • Phonon::AudioOutput *ao=new Phonon::AudioOutput;
    ao->setVolume(50);
    ao->setVolume(00);
    ao->setVolume(100);
    ao->setMuted(true);
    ao->setVolumeDecibel(0);
    attempts not give me results....=(
    Can you give me your example..... please??



  • Sorry dear, I did mistake. I checked for your problem but unfortunately phonon does not affects master volume. I'll find a new way for your problem. I promiss



  • Thanks, I hope=)
    This problem still unsolved....



  • I think that you should use system API. As I understood you need it only for one platform, so it will be the best way for you.



  • Yes=) but system(winapi) (exactly audio.... programs on it create program's channel on mixer and control it, not master volume channel )dont work on Vista/7 only for Windows XP.... because Microsoft change audio driver.... now Vista/7 use wasapi.... IDE for wasapi uses only Visual studio 2010 maybe 2007... but I want Qt.... What can I'll do guys?



  • Perhaps Phonon should change system volume but it doesn't because of the behaviour changing in the new MS OSs. I actually don't understand from the Qt documentation what volume Phonon is supposed to change. But if there is no direct note about application-scope volume you can think about system wide volume. That is my logic. Try to ask Trolls about their point of view about the system volume. Maybe you should file a bug and wait for an answer. Nevertheless it is a bad practice to touch system wide properties such as sound volume from the custom application, I think.
    If you need the issue solved quick you can write your own wrapper and implements system specific volume control as Qt-like D-pointers or any other design practice. "There":http://blogs.msdn.com/b/larryosterman/archive/2007/03/06/how-do-i-change-the-master-volume-in-windows-vista.aspx is an article about volume changing in the Vista. It seems quite simple to me.


Log in to reply