JavaFx音频输出选择

sin*_*inθ 8 java audio javafx javafx-2 javafx-8

我正在寻找一种使用JavaFx指定输出设备的方法

我有一个与此问题类似的问题:JavaFX特定的音频输出,但有不同的需求.

我需要一种方法来获取所有可能的音频输出设备列表(如您在用户首选项中看到的那样),并允许用户在JavaFx中选择他们想要音频输出的设备.这似乎是应该在任何音乐/媒体API中的一个非常基本的功能,并且对于大多数音频软件来说是必不可少的.

我在JavaFx中使用MediaPlayer,但是如果有另一个类我很乐意使用它.请注意,我需要相同的视频功能(指定音频输出),所以我需要一个适用于两者的类/解决方案.

如果JavaFx 8中的某些东西会有所帮助,我可以一直等到它被释放.

我真正期待的是与Screens类相同的东西:

Screen.getScreens() // Gets an observable list of all screens.
Run Code Online (Sandbox Code Playgroud)

我很讨厌解决方案.真的,任何有效的东西.

Ale*_*ec. 1

多年来,OS X 的 Java 实现一直是一个非常不幸的限制,顺便说一句,该平台特有的“Java Sound Audio Engine”是唯一以编程方式可用的输出音频线。因此,无论您发送到此行的是什么,即从您创建的任何 java 应用程序发送的内容,都将始终被路由到 OS X 中设置为默认输出的内容,通常是内部扬声器。所以 JSAE 只是“默认音频输出”的 Java 术语。据我们了解 - 可悲的是 - 最新版本仍然是这种情况。

为什么不幸?因为它甚至可以有效地禁用不起眼的音频路由。我们每天都在处理这些问题,这需要增加各种复杂性。有一些解决方法,但需要通过 SoundFlower 和 HiJack Pro 等第三方应用程序。例如 www.soundPimp.com。