【发布时间】:2010-12-16 04:45:14
【问题描述】:
历史与现状:
我目前正在更新几年前为客户开发的 Java 应用程序(在 WinXP 上运行),用于测试和培训有某些听力障碍的人。购买此应用程序的用户将获得特定的 USB 声音设备和耳机。
此软件最重要的要求之一是必须以特定分贝声级向用户播放音频。使用 Java 声音 API,开发该应用程序以将 Windows 音量动态调整到计算水平(基于在开发期间校准 USB 声音设备和耳机时进行的测量)。
问题:
该应用程序现在需要升级以支持 Windows Vista 和 Windows 7,但是由于 Windows 新的 per-app 声音架构,我无法找到使用 Java Sound 访问主/系统音量的任何方法API。
应用程序的 Windows 音量控制本身并不能削减它,因为它与系统音量相关,并且无法保证用户会听到特定的已知级别的输出音频。
有没有人知道在 Java 中是否可以做到这一点,如果可以,那怎么做?如果不可能,那么您能否就实现它的最简单方法提供任何指导? (也许是 JNI 和 C - 虽然我以前从未使用过 JNI...有什么需要注意的问题吗?)
【问题讨论】:
标签: java windows-7 windows-vista audio