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