我想做出集計算機
- 讀一行從一個文件中的Java程序(ex.File文字是:「你好」)
- 如果行=「你好」,然後
- 如果計算機音量大於1則獲得計算機音量然後音量=音量/ 2
我不知道該程序的音量部分如何。我在網上查了一下過去一小時,似乎無法想出如何做到這一點,或者甚至有可能。
我忘了補充(我使用Windows 7)
我想做出集計算機
我不知道該程序的音量部分如何。我在網上查了一下過去一小時,似乎無法想出如何做到這一點,或者甚至有可能。
我忘了補充(我使用Windows 7)
我已經寫了一個實用工具類,用於控制其使用這樣的量:
Audio.setMasterOutputVolume(0.5f);
源代碼是在這裏:https://github.com/Kunagi/ilarkesto/blob/master/src/main/java/ilarkesto/media/Audio.java
您可以複製和使用代碼。
這是我如何成功地使用終端命令(我用的是Mac運行OS X 10.10)設置的系統主音量:
public static void setOutputVolume(float value)
{
String command = "set volume " + value;
try
{
ProcessBuilder pb = new ProcessBuilder("osascript","-e",command);
pb.directory(new File("/usr/bin"));
StringBuffer output = new StringBuffer();
Process p = pb.start();
p.waitFor();
BufferedReader reader =
new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = reader.readLine())!= null)
{
output.append(line + "\n");
}
System.out.println(output);
}
catch(Exception e)
{
System.out.println(e);
}
}
值可以是任何地方從1.1至7.0,你會打電話這樣的方法:
setOutputVolume(3.5f);
這會使系統音量大約是其最大值的一半。我不知道在Windows中設置系統音量的任何命令行選項,如果有人知道任何,或許他們可以參加?
我知道這個問題很老,但也許我的答案幫助其他人。 我找到了useful tool(下載鏈接位於頁面底部)。 使用此工具,您可以調整系統音量並執行許多其他操作(例如打開您的光驅)。只需下載它並將nircmd.exe放在硬盤上的某個位置即可。然後寫如下調整音量:
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(pathToNircmdexe + " setsysvolume 32767.5");
這將您的系統音量設置爲50 要設置音量,你需要選擇0和65535之間的數字。如果你想使用的數字從0到100使用下面的方法。它會轉換成您想要的音量(通過使用簡單的數學:d)
public void setSystemVolume(int volume)
{
if(volume < 0 || volume > 100)
{
throw new RuntimeException("Error: " + volume + " is not a valid number. Choose a number between 0 and 100");
}
else
{
double endVolume = 655.35 * volume;
Runtime rt = Runtime.getRuntime();
Process pr;
try
{
pr = rt.exec(nircmdFilePath + " setsysvolume " + endVolume);
pr = rt.exec(nircmdFilePath + " mutesysvolume 0");
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
注:可悲的是這僅適用於Windows,
「因爲Java是跨平臺的,它不能做平臺特定的東西,比如改變音量或者你想要控制操作系統的任何東西,你需要使用操作系統獨特的API層來做到這一點。「 source
相關討論:http://stackoverflow.com/questions/3249550/is-there-a-way-in-java-jna-to-set-the-master-system-volume-reliably-in -xpvi – Igor 2011-02-11 02:23:51
查看[使用JavaSound控制主卷]的鏈接(http://www.coderanch.com/t/492931/java/java/Adjusting-master-volume-Windows-XP)。不過,對於它的普遍性有一些疑問。 – 2011-02-11 02:58:03