К сожалению, здесь нет идеального ответа.
Используя уже найденную DirectAudioPlayerTest.java
, вы можете изменить создание фабрики медиапроигрывателя так, чтобы он передавал этот параметр для предотвращения открытия видео окна:
factory = new MediaPlayerFactory("--novideo");
Вы получите звук в буфер памяти со скоростью, с которой VL C декодирует его, поэтому если у вас есть 5-минутное видео, для извлечения аудио потребуется 5 минут - не идеально.
Это единственный способ использования vlcj, в котором вы можете захватывать аудиоданные в память.
Найденный вами RipAudioTest.java
, IIR C, извлекает аудио максимально быстро, что может быть намного быстрее, чем нормальная скорость воспроизведения - но здесь вы не можете захватить декодированный звук непосредственно в ваше приложение Java.
Так что решение, которое у вас уже есть, сначала скопировать дорожку на диск, может на самом деле быть лучшим решением, которое вы можете достичь с помощью vlcj здесь (поскольку это может быть значительно быстрее, чем с помощью прямого аудиоплеера).