December 29, 2010

Aeromiss Aeromiss
Lab Rat
5 posts

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?

12 replies

December 31, 2010

snowpong snowpong
Lab Rat
54 posts

I don’t understand your question. You’re playing/streaming audio and you want to do it through WASAPI [msdn.microsoft.com]).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? :)

January 2, 2011

Aeromiss Aeromiss
Lab Rat
5 posts

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?

January 2, 2011

Mohsen Mohsen
Lab Rat
748 posts

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.

 Signature 

www.madagon.com

January 2, 2011

Mattias Cibien Mattias Cibien
Lab Rat
66 posts

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

 Signature 

http://mattias-cibien.co.cc
- Prepare for Qt consequences.

January 2, 2011

Aeromiss Aeromiss
Lab Rat
5 posts

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

January 2, 2011

Mohsen Mohsen
Lab Rat
748 posts

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

 Signature 

www.madagon.com

January 2, 2011

Aeromiss Aeromiss
Lab Rat
5 posts
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??

January 2, 2011

Mohsen Mohsen
Lab Rat
748 posts

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

 Signature 

www.madagon.com

January 2, 2011

Aeromiss Aeromiss
Lab Rat
5 posts

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

January 3, 2011

Denis Kormalev Denis Kormalev
Lab Rat
1654 posts

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.

January 3, 2011

Aeromiss Aeromiss
Lab Rat
5 posts

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?

January 3, 2011

ixSci ixSci
Lab Rat
206 posts

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 [blogs.msdn.com] is an article about volume changing in the Vista. It seems quite simple to me.

 
  ‹‹ [SOLVED] Cross-Thread signal: Cannot queue arguments of type ’QVector<QVector<int> >      multipleModels/oneView ››

You must log in to post a reply. Not a member yet? Register here!