我正在运行Win Vista,在窗口的右下方,时钟旁边有一个扬声器图标,我可以点击它并调整音量,我想知道我的Java程序中是否有方法可以自动执行此操作?
例如,当我的Java程序启动时,它会将音量调到80,当程序退出时,它会将音量调回原始音量。如果有办法实现这种效果,我不介意使用Runtime.getRuntime().exec()
。
答案 0 :(得分:1)
Java的一个主要前提是在其上编写的应用程序应在任何平台上运行。这就是为什么他们在Java 1.4 SDK中放弃了对环境变量的支持,但后来又重新启用了它。这就是为什么没有办法用“cls”这样的命令来清理Java控制台,因为它可以在某些平台上工作,但在其他平台上却不行。
话虽如此,你将无法用Java做到。您可以使用C ++创建JNI DLL,也可以使用C ++或C#创建应用程序。
有关在C ++中执行此操作的更多信息:
答案 1 :(得分:1)
查看javax.sound
API。 Here有关于此的教程,特别是here(在更改行的音量章节中),您可以阅读如何设置音量。这些知识应该提供足够的Google关键字来查找示例。
答案 2 :(得分:1)
我使用以下代码来模拟音量调整:
Robot robot; // Set speaker volume to 80
try
{
robot=new Robot();
robot.mouseMove(1828,1178);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(90);
robot.mouseMove(1828,906);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(260);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}
catch (AWTException ex)
{
System.err.println("Can't start Robot: " + ex);
System.exit(0);
}
它有效!