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。
我在 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。