there is good feature in windows (for me:-D) : when using headset you can set volume of output sound to something other than when you're not! e.g I set the sound volume to minimum when I'm not using headset but when using that's very high. but there is no such feature in ubuntu! now is there any program or solution for ubuntu?
As far as I know in Ubuntu Alsa and PulseAudio Work together to provide sound Alsa detects and configures your sound hardware and PulseAudio decides what software can use the audio and what volume it will be.
Alsa can do this bit on its own but no where near as good as pulseaudio and Alsa is much better at the hardware side.
So if you want to change the volume of your speakers as opposed to your head phones open terminal and start
you should be able to change the volume of individual sound outputs from there (no mouse just arrow keys and m for mute and unmute.
To change the volume of individual programs would be pulseaudio's job so open the audio settings panel and change to the applications tab and change it two points however you have to have the program open first before you can change the audio level and it wont stick after you close the program
And If you want to attach the action to a keyboard short-cut you will need to write a small script calling amixer (the command line equivalent to alsamixer).
Ps. if you need more information on amixer or help to write a script don't hesitate asking.