Java - Воспроизведение видео и аудио файлов (mp4, mp3, ...) с помощью vlcj

Требуется:
- Скачать VLC (скачать медиаплеер VLC)
- Установить 32-разрядный vlc для 32-разрядной виртуальной машины или 64-разрядный для 64-разрядной JVM VM

Java Media Player с библиотекой VLC vlcj
Медиаплеер, который мы сделали на 100% в Java



Вы можете использовать JMF library,  но, похоже, она устарела и устарела, поэтому разработчики начали разрабатывать из знаменитой библиотеки VLC C++ библиотеку под названием vlcj (the j for java).
Мы покажем вам краткий пример того, как использовать эту замечательную библиотеку. Просто скопируйте и вставьте код, приведенный в примере ниже, в предпочитаемую IDE:  Elipse или Netbeans. Обратите внимание, что вам нужно download vlcj library и интегрируйте его в свой проект и в classpath.

Цель состоит в том, чтобы убедиться, что у вас есть рабочая среда. Этот шаг имеет решающее значение при написании любого приложения, использующего vlcj. Если это простое приложение не работает, то все остальные приложения, которые были написаны на java и интегрируют vlcj, не будут работать.

Найдите родную библиотеку

Путь к родной библиотеке должен указывать на папку, содержащую два файла. libvlc.dll and libvlccore.dll. В Linux файлы называются libvlc.so и libvlccore.so. Эти два dll файла находятся в папке VLC, если вы не можете их найти, скачайте и добавьте их в папку, где VLC установлен.

NativeLibrary.addSearchPath(
                    RuntimeUtil.getLibVlcLibraryName(),  "C:/Программные файлы/VideoLAN/VLC);

Одна из допущенных ошибок заключается в том, что виртуальная машина Java используется с 32-разрядной версией VLC. Это не будет работать только потому, что вы должны использовать 64-битную версию VLC с 64-битным JDK и 32-битную версию VLC с 32-битным JDK.

Загрузить родную библиотеку

API vlcj использует JNA, которая подключает VLC к библиотеке. Это означает, что  Окружающая среда  должен  Быть  Хорошо сконфигурирована  так что  Java-приложение сможет найти Книготорговец  native.
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);

void  chargerLibrary(){
    NativeLibrary.addSearchPath
    RuntimeUtil.getLibVlcLibraryName(), "C:/Program Files/VideoLAN/VLC");
    Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
}

Два основных класса:
  • MediaPlayerFactory: Инициализирует один экземпляр libvlc и создает экземпляры диска. мультимедиа. Мы можем  Создайте несколько панелей для каждого видео, например.
  • EmbeddedMediaPlayer: интегрирует компонент медиаплеера в компонент пользовательского интерфейса. Именно с этим классом, когда можно  control  все, что имеет отношение с  Пользовательский интерфейс, такой как подготовка или запуск воспроизведения, полноэкранный режим и т.д.

Example

import java.awt.BorderLayout; 
import java.awt.Canvas;
импорт java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import com.sun.jna.Native;
import com.sun.jna.NativeLibrary;
import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.player.MediaPlayerFactory;
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;
import uk.co.caprica.vlcj.player.embedded.windows.Win32FullScreenStrategy;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;
import uk.co.caprica.vlcj.runtime.x.LibXUtil;

/*www.codeurjava.com*/

public class MediaPanel {

public static void main(final String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
chargerLibrary();
новый MediaPanel(args);
}
});
}

void chargerLibrary(){
NativeLibrary.addSearchPath(
RuntimeUtil.getLibVlcLibraryName(), "C:/Program Files/VideoLAN/VLC");
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
LibXUtil.initialise();
}

private MediaPanel(String[] args) {
JFrame frame = new JFrame("vlcj tutorial");
frame.setLocation(100, 100);
frame.setSize(1050, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

//Создаем экземпляр Canvas
Canvas c = new Canvas();
//Фон видео по умолчанию черный
c.setBackground(Color.black);
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
//Видео занимает всю поверхность
p.add(c, BorderLayout.CENTER);
frame.add(p, BorderLayout.CENTER);

//Создаем factory
MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory();
//Создаем экземпляр медиаплеера
EmbeddedMediaPlayer mediaPlayer = mediaPlayerFactory.newEmbeddedMediaPlayer(new Win32FullScreenStrategy(frame));
mediaPlayer.setVideoSurface(mediaPlayerFactory.newVideoSurface(c));
//Fullscreen
mediaPlayer.toggleFullScreen();
//Скрыть курсор мыши внутри JFrame
mediaPlayer.setEnableMouseInputHandling(false);
//Отключаем клавиатуру внутри JFrame
mediaPlayer.setEnableKeyInputHandling(true);

//Подготовка файла
mediaPlayer.prepareMedia("vidéo.mp4");
//воспроизвести файл
mediaPlayer.play();
}
}
Ну вот! С помощью всего нескольких строк кода вы можете создать свой собственный медиаплеер. Начните изучать документацию vlcj documentation в Интернете, чтобы при необходимости разработать собственное приложение.