2009-12-17 44 views
1

我想以編程方式在Windows,Mac和Ubuntu上使用C/C++設置音量。命令行也可以,但C/C++首選。先謝謝你!如何以編程方式在Windows,Mac和Ubuntu中設置音量?

+1

按體積做喲是指音量? – Alon 2009-12-17 10:25:40

+0

是的。我想要設置主音量。 – Viet 2009-12-17 13:31:52

+0

你將得到三個非常*不同的答案。我建議你爲此詢問三個單獨的問題。這樣,你更有可能得到答案,回答*整個問題,而不是你在這裏得到的,只回答問題的1/3。 – 2009-12-17 15:28:35

回答

4

只是一個提示,在windows中,圍繞音量調整的「哲學」在XP和Vista/7之間發生了變化。這會改變XP主音量代碼只會改變是一個很好的博客文章由MS音頻開發團隊的一個關於這個在Vista上混頻器和專用音量設置7

這裏:Larry Osterman's Blog

這裏有一些CodeProject上的網頁,可能證明是有用的:

For XP

For Vista +

此外,也有少數的PowerPoint預有關新API的發佈: AMP Summit ppts。 Windows Vista演示文稿中的音頻終端具有一些很好的信息。

至於OsX和Ubuntu,我不知道。

+0

+1好找Neeul!我希望我能投更多。 – Viet 2009-12-17 13:28:55

4

對於使用Linux ALSA音響系統,可以使用下面的命令:

amixer set Master 50% 
+0

+1謝謝!它是否與調整任務欄上的揚聲器圖標具有相同的效果?這個看起來不像C系統調用,但無論如何感謝。 – Viet 2009-12-17 13:28:24

+0

這是一個shell命令,你可以用system()或fork()/ exec()來執行它。是的,它與調整任務欄音量控制具有相同的效果。 – 2009-12-17 13:38:24

+0

我希望我知道C/C++函數可以做同樣的事情。無論如何感謝:) – Viet 2009-12-17 13:42:40

1

爲了完整起見,這裏是OSX CLI版本:

osascript -e "set volume output volume (output volume of (get volume settings)+2)" 

而在C方面則更困難。從我發現研究這件事的一切中,最簡單的方法是使用其中一種隨時可用的客觀C答案,並將它們封裝到可從C/C++調用的額外對象中的函數中。

相關問題