Я работаю с VLCJ Bindings и, наконец, смог получить несколько блокпостов. Теперь я здесь. У меня нет необходимости (на данный момент) или желания для видимого компонента Media Player (EmbeddedMediaPlayerComponent). Все, что мне нужно (пока), - это воспроизведение аудиофайлов. У меня есть следующий метод в месте, чтобы справиться с этим для меня:Как получить медиаплеер VLC на Java без отображаемого компонента?
public static void Play(File AudioFile){
if (!LibVLCLoader.Loaded) LibVLCLoader.loadLibVLC();
EmbeddedMediaPlayerComponent EMPC = new EmbeddedMediaPlayerComponent();
if (EMPC.getMediaPlayer().prepareMedia(AudioFile.getAbsolutePath())){
EMPC.getMediaPlayer().addMediaPlayerEventListener(new MediaPlayerEventAdapter(){
@Override public void subItemFinished(MediaPlayer p, int i){
EMPC.release(true);
}
});
Platform.runLater(() -> EMPC.getMediaPlayer().play());
}
}
Но я получаю это исключение:
Exception in thread "JavaFX Application Thread" java.lang.IllegalStateException: The video surface component must be displayable
Что я понимаю. Это имеет смысл. Но мне это НЕ НУЖНО. Мне просто нужен звук. Как я могу это сделать?
В этом контексте вы ДОЛЖНЫ отображать окно, у вас нет выбора. Создайте небольшое окно, переместите его где-нибудь за пределы экрана, сделайте его видимым. Возможно, вы даже сможете сделать его невидимым, если вы его не распоряжаетесь – MadProgrammer
Хорошо, я понял. Во всяком случае, я нашел ответ, который сработал для меня. Я не хочу использовать EmbeddedMediaPlayerComponent, когда EmbeddedMediaPlayer работает просто отлично, мне нужно только выяснить, как его создать, и теперь у меня есть. – Will