当前位置: 首页 > 面试题库 >

Java(+-JNA)中是否可以在XP + Vista + Windows 7中可靠地设置主系统的音量?

司英彦
2023-03-14
问题内容

看来Java的声音API可以很好地用于单个流,甚至可以用于设置来自麦克风的输入,但是不能用于设置Vista / Windows 7中的主音量级别。

任何人都可以使用适用于所有人的东西(没有兼容模式或控制鼠标以提高音量级别[类似机器人])。


问题答案:

鉴于似乎没有本机解决方案,我当前的方法是使用
jna发送“键盘上下音量”的键盘笔触:

https://superuser.com/questions/82229/how-to-control-master-volume-in- Windows-7 / 86227#86227

您也许可以创建一个dll,然后将其挂接到“具有vista卷感知功能”的dll中,并且实际上可以对其进行正确控制,并使用
jna对其调用方法。

ffi / jna / jnr / jacob(访问IAudioEndpointVolume等)可能有效。(看来
jna并不真的支持COM吗?)就这一点而言,ffi看起来也很恐怖。

可能会使用Java COM桥来执行相同的操作。所以下一个想法是尝试bridj或jacob



 类似资料:
  • 问题内容: 历史和情况: 我目前正在更新一个Java应用程序,该应用程序是几年前为客户端开发的(可在WinXP上运行),用于测试和培训患有某些听力障碍的人。购买此应用程序的用户将获得特定的USB声音设备和耳机。 该软件最重要的要求之一是必须以特定的分贝声音级别向用户播放音频。使用Java Sound API,开发了该应用程序,以将Windows Volume动态调整为计算的水平(基于在开发过程中校

  • 问题内容: 无论如何,是否有一个微调器提示与编辑文本字段所提供的提示类似。我知道您可以使用提示给您一个标题栏,但在单击微调器之前,仍将初始微调器字段留为空白。我目前有一种粗略的方法来将虚拟字段设置为旋转器数组的第一部分,即问题,然后在末尾进行检查以确保旋转器不等于问题字符串。有没有更清洁/更好的方法呢? 谢谢! 问题答案: 这是一个比Ravi Vyas代码简单一些的解决方案(感谢您的启发!):

  • 我有一个和一个。现在,我想将片段添加到中(或者,如果已经有一个片段,则将的片段与交换)。 我可以做。在形式上,这可以引发。这里怎么会出现这种例外呢?我可以安全地抑制(并忽略)它吗?

  • 问题内容: 我没有找到有关如何执行此操作的任何资源。只需更改播放器的颜色即可,:) 问题答案: 是! 具有“ controls”属性的HTML5音频标签使用浏览器的默认播放器。您可以根据自己的喜好自定义它,方法是不使用浏览器控件,而是滚动自己的控件并通过javascript与音频API对话。 幸运的是,其他人已经做到了。我现在最喜欢的播放器是jPlayer,它的风格非常好,效果很好。一探究竟。

  • 我有一个由几千个类组成的大项目。今天,我发现对于某些输入,在启用断言的情况下运行时会计算出不同的结果。 null

  • 问题内容: 是否可以在Gradle中声明一个可在Java中使用的变量?基本上,我想在build.gradle中声明一些var,然后在构建时(显然)获取它。就像C / C ++中的预处理器宏一样… 一个声明的例子就是这样: 有没有办法做这样的事情? 问题答案: 生成Java常量 你可以使用 产生Android资源 你可以使用或以通常的方式访问它们