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

Java Sound API可访问Vista和Win 7中的系统/主音量控制

漆雕育
2023-03-14
问题内容

历史和情况:

我目前正在更新一个Java应用程序,该应用程序是几年前为客户端开发的(可在WinXP上运行),用于测试和培训患有某些听力障碍的人。购买此应用程序的用户将获得特定的USB声音设备和耳机。

该软件最重要的要求之一是必须以特定的分贝声音级别向用户播放音频。使用Java Sound API,开发了该应用程序,以将Windows
Volume动态调整为计算的水平(基于在开发过程中校准USB声音设备和耳机时进行的测量)。

问题:

现在需要升级该应用程序以支持Windows Vista和Windows 7,但是由于Windows的新的按应用程序声音体系结构,我无法找到使用Java
Sound API访问主/系统卷的任何方法。

由于应用程序的Windows音量控制是相对于系统音量的,因此不能单独削减Windows音量控制,并且无法保证用户将听到特定级别的已知输出音频。

有人知道在Java中是否有可能这样做,如果可以,怎么办?如果不可能的话,那么您能给出什么指导来实现它的最简单方法吗?(也许是JNI和C-
尽管我以前从未使用过JNI …要注意的陷阱?)


问题答案:

如果以Windows XP兼容模式运行应用程序,则该应用程序应该可以工作(这取决于Java Sound API与硬件卷的交互方式)。

如果要使用Vista(及以后)的声音API,则需要查看IAudioEndpointVolume API。



 类似资料:
  • 问题内容: 看来Java的声音API可以很好地用于单个流,甚至可以用于设置来自麦克风的输入,但是不能用于设置Vista / Windows 7中的主音量级别。 任何人都可以使用适用于所有人的东西(没有兼容模式或控制鼠标以提高音量级别[类似机器人])。 问题答案: 鉴于似乎没有本机解决方案,我当前的方法是使用 jna发送“键盘上下音量”的键盘笔触: https://superuser.com/que

  • 问题内容: Java Sound提供了各种声音线功能以及&控件类型的实例。 可以使用这些控件来更改系统音量吗? 问题答案: 不,它不能。这是从“ 调整码位上的主音量”的答案改编而来的资源。源代码会迭代可用的行,检查它们是否具有正确类型的控件,如果有,则将它们放入连接到命令行的GUI中。 在这台Windows 7计算机上,我有两个控件,都来自“ Java Sound Audio Engine”。都不

  • 问题内容: 当我以普通用户身份运行容器时,我可以映射 和修改 主机文件系统上root拥有的目录。这似乎是一个很大的安全漏洞。例如,我可以执行以下操作: 现在,我的 主机 文件系统将在键入时执行命令(大多数情况下无害)。我不敢相信这是理想的行为,但是它正在我的系统中发生(debian延伸)。该命令具有普通权限(755,不是setuid)。 我想念什么? 可能需要澄清更多。目前,我对容器本身的作用或可

  • 问题内容: 要在npm脚本中访问变量,请在您的计算机中执行以下操作: 问题是只能在Unix下使用,而在Windows上则不能使用。 有没有办法使该操作系统独立?如果npm可以在调用命令之前进行这样的变量扩展,那就太好了。 问题答案: 要使其跨平台,请使用:

  • 问题内容: 我很确定答案是 否定的 ,因此使用了Google Gears,adobe AIR等。 如果我是对的,那么如何工作?它是持久性的,并使用javascript编写。它也只是一个没有外部(服务器端)依赖关系的HTML文件。WTF?它在哪里/如何存储其状态? 问题答案: Tiddlywiki有几种保存数据的方法,具体取决于所使用的浏览器。如您所见。 如果启用了ActiveX,它将使用Scrip

  • 本文向大家介绍python访问系统环境变量的方法,包括了python访问系统环境变量的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python访问系统环境变量的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的Python程序设计有所帮助。