2012-12-11 61 views
2

我想知道是否有任何方法獲取特定應用程序的音量並對其進行更改,或者獲取所有在mac中具有聲音輸出的應用程序。應用程序音量mac os

我想知道我是否可以使用objective-c,C或C++來做到這一點。

我已經嘗試過applescripts,但是我發現很難依靠applescripts,因爲並非所有的應用程序都通過applescript提供該訪問,即使如此,我也無法以相同的方式處理所有應用程序,因爲那樣會取決於蘋果是如何編寫的。

我不想一個確切的答案,我只是想要一個線索或一種方法,我可以在

搜索感謝提前

+1

如果應用程序使用NSBeep,那就是聲音輸出。你可以說得更詳細點嗎? – trudyscousin

+0

是的,我的意思是每個具有聲音輸出的應用程序,以便我可以訪問每個應用程序以控制其音量 –

+0

您可以向www.prosofteng.com詢問這些人,因爲他們的應用程序「聽到」已經是您要求的。對於AppleScript,這無法完成,您需要C(和/或它的超集)來實現這一點。 –

回答

2

有些應用程序在他們的AppleScript字典對於它的屬性。

tell application "iTunes" 
    sound volume -- 0 to 100 
end tell 

tell application "QuickTime Player" 
    audio volume of document 1 -- 0.0 to 1.0 
end tell 
+0

首先我要感謝你的回答, 但是,applescripts有一個問題,就是它們不適用於所有的應用程序,另一個問題是如何改變體積透徹的applescript(如果應用程序支持的話)會根據applescript的寫法,每個應用程序都有所不同。 –

0

爲什麼不改變系統音量呢?以下是AppleScript的:

set volume output volume 40 
return output volume of (get volume settings) 

如果你願意,你可以使用NSAppleScript執行這些單行,但也應該有一個直接的方式來做到這一點。

+0

我想更改特定應用程序的音量,而不是系統音量 –

+0

在這種情況下,我建議您將Lauri的答案標記爲已接受,因爲我不認爲除AppleScript之外還有其他解決方案,並且每個新版本的OSX都會使Apple更難讓應用程序彼此交互。 – Mark