# Libvlc laden



## Hatsi09 (28. Mrz 2020)

Hallo

ich versuche mir einen MediaPlayer mit Einbindung von VLC zu programmieren und bin hierbei auf ein Problem gestoßen. Da ich Anfänger bin, habe ich nicht wirklich Ahnung, wieso diese Exception kommt. Habe dieses Forum schon durchgeforstet (und das Internet), bin aber bei der selben Meldung nur auf ungelöste Posts gekommen. Ich hoffe ihr könnt mir weiterhelfen. Mein Code ist:


```
package filmkonzert.studio;

import com.sun.jna.*;
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;
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;

/**
 *
 * @author Thomas
 */
public class FilmkonzertStudio extends JFrame
{
    private Canvas canvas;
    
    public FilmkonzertStudio()
    {
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setVisible(true);
        
        this.canvas = new Canvas();
        canvas.setBackground(Color.BLACK);
        JPanel panel = new JPanel();
        panel.setLayout(new BorderLayout());
        panel.add(canvas);
        this.add(panel);
        loadFile();
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        FilmkonzertStudio fks = new FilmkonzertStudio();
        fks.setVisible(true);
    }

    public void loadFile()
    {
        // vcl libary laden
        NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(),"C:/Program Files (x86)/VideoLAN/VLC");
        Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
        // media player initialisieren
        MediaPlayerFactory mpf = new MediaPlayerFactory();
        // Kommunikation mit dem User kontrollieren
        EmbeddedMediaPlayer emp = mpf.newEmbeddedMediaPlayer(new Win32FullScreenStrategy(this));
        emp.setVideoSurface(mpf.newVideoSurface(canvas));
        // Vollbild
        emp.toggleFullScreen();
        // Cursor verstecken
        emp.setEnableMouseInputHandling(false);
        // Tastatur sperren
        emp.setEnableKeyInputHandling(false);
        
        // Video lesen
        String file = "PIRATES OF THE CARIBIEN II.mp4";
        emp.prepareMedia(file);
        emp.play();
    }
    
}
```

Wenn ich das ausführe, bekomme ich folgende Meldung: 

```
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'libvlc': JNA native support (win32-amd64/libvlc.dll) not found in resource path (C:\Users\Thomas\Downloads\vlcj-3.0.1-dist\vlcj-3.0.1-dist\vlcj-3.0.1\vlcj-3.0.1.jar;C:\Program Files (x86)\JMF2.1.1e\lib\customizer.jar;C:\Program Files (x86)\JMF2.1.1e\lib\jmf.jar;C:\Program Files (x86)\JMF2.1.1e\lib\mediaplayer.jar;C:\Program Files (x86)\JMF2.1.1e\lib\multiplayer.jar;C:\Program Files (x86)\JMF2.1.1e\lib\sound.jar;C:\Users\Thomas\Videos\Staka\Filmkonzert Studio\build\classes)
    at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:220)
    at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:322)
    at com.sun.jna.Library$Handler.<init>(Library.java:142)
    at com.sun.jna.Native.loadLibrary(Native.java:387)
    at com.sun.jna.Native.loadLibrary(Native.java:366)
    at filmkonzert.studio.FilmkonzertStudio.loadFile(FilmkonzertStudio.java:51)
    at filmkonzert.studio.FilmkonzertStudio.<init>(FilmkonzertStudio.java:35)
    at filmkonzert.studio.FilmkonzertStudio.main(FilmkonzertStudio.java:43)
```

Da ich nicht wusste, wie ich die com.sun.jna Bibliothek einbinde (da dies ein Zip-Ordner war und keine .jar), habe ich diese einfach in den src kompiert, so kompiliert es zumindest. 
Habe ich die Bibliothek falsch eingesetzt?
Ich hoffe ihr könnt mir weiterhelfen 

Gruß Florian


----------

