как управлять VLC с помощью java
Я хочу запустить программу под названием в VLC на java
и контролировать его во время работы, например если пользователь кликнул на ❚ ❚ или ►► кнопка, Я делаю определенное подходящее действие.
Я бегу VLC
этот код :
try
{
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(VLCProgramAddFile + " udp://@:" + listeningPort);
OutputStream out = p.getOutputStream();
InputStream in = p.getInputStream();
p.waitFor();
System.out.println("End of VLC");
}
catch (Exception e)
{
System.out.println("error in running VLC");
}
Я слышал о привязках Java, но я не знаю, как это работает для этой работы.
3 ответов
вы, вероятно, ищете VLCJ, это Java-оболочка для VLC. Он позволяет встроить VLC media player в приложение java и, таким образом, добавить все ваши личные элементы управления.
(обратите внимание, что для пользовательских приложений это нормально, но библиотека VLCJ не идеальна, вы можете появляется несколько проблем.)
изменить: Для моего проекта Я видел утечки памяти и проблемы с длительными программами (несколько экземпляров в течение нескольких часов). Особенно несколько экземпляров не работает в сочетании с некоторыми параметрами компиляции (которые включены по умолчанию).
VLCj это то, что вам нужно, да - это, по сути, прямая Java-оболочка вокруг libvlc. Если вы используете его в процессе (особенно если вы используете несколько игроков в процессе), вы иногда увидите сбои VM - это не ошибка VLCJ, а libvlc, и собственные библиотеки, которые он использует под ними, имеют некоторые тонкие ошибки потоковой передачи, которые раскрывают эти проблемы.
вы можете заставить его работать надежно с несколькими экземплярами, но для этого вам нужно использовать его вне процесса. Видеть здесь для моих первоначальных попыток в этом. Это немного работы, чтобы настроить, но когда-то все работает очень хорошо.
в зависимости от того, что вы хотите в конечном итоге достичь возможно привязки Java gstreamer стоит посмотреть, что даст вам очень мелкозернистый контроль над воспроизведением. И вы можете делать конверсии и все такое. Они также имеют минималистичный пример приложения видеоплеер, чтобы вы начали с.