我有一个播放音频文件的 java 应用程序。因此,在我的 java 应用程序播放音频文件或声音之前,我想静音所有其他应用程序声音,如 Windows 媒体播放器、VLC 播放器等,如果当时正在播放这些声音。
在我的 java 应用程序完成播放音频文件后,我想再次取消静音。
有没有办法做到这一点?
谢谢
不,你不能,这与 Java 无关,但操作系统不允许。表现良好的应用程序应在失去音频焦点时暂停播放。
您不能在普通的旧 java AFAIK 中执行此操作。您需要使用 JNI 或 JNA。有一些用于音频访问的 API 可以解决问题,例如,您可以使用 java 中的 portaudio(最近有人宣布了一个这样做的开源项目,如果找不到,请在 portaudio maling 列表中询问),但是这个有一些问题: