JavaFX 在底层使用什么来播放声音?

What does JavaFX use under the hood to play sound?

我在 Mac 上使用 JavaFX 播放声音时遇到了一些问题,所以我决定深入研究一下。我发现 class 称为 OSXMediaPlayer,其方法具有以下签名:

private native void osxPlay() throws MediaException;

而且——不幸的是——一具空尸。这是否意味着 Java 在幕后调用 OSX 命令?我可以自己打开一个终端试试吗?

Does that mean that Java call OSX command under the hood?

它不调用命令行程序。它调用原生 macOS 音频 APIs CoreAudio or AVFoundation.

Can I open a terminal and try it myself?

不,因为终端只允许您访问命令行程序,而不是 API。