@Override public synchronized void dispose() { if (!disposed.compareAndSet(false, true)) { return; } LOG.debug("Release resources (player={}, factory={})", player, factory); player.release(); factory.release(); }
@Override public List<WebcamDevice> getDevices() { LOG.debug("Searching devices"); if (OsUtils.getOS() == OsUtils.WIN) { System.err.println("WARNING: VLCj does not support webcam devices discovery on Windows platform"); } List<WebcamDevice> devices = new ArrayList<WebcamDevice>(); if (mediaListItems != null) { for (MediaListItem item : mediaListItems) { devices.add(mediaListItemToDevice(item)); } } else { MediaPlayerFactory mediaPlayerFactory = createMediaPlayerFactory(); MediaDiscoverer videoMediaDiscoverer = mediaPlayerFactory.newVideoMediaDiscoverer(); MediaList videoDeviceList = videoMediaDiscoverer.getMediaList(); List<MediaListItem> videoDevices = videoDeviceList.items(); for (MediaListItem item : videoDevices) { LOG.debug("Found item {}", item); devices.add(mediaListItemToDevice(item)); } videoDeviceList.release(); videoMediaDiscoverer.release(); mediaPlayerFactory.release(); } return devices; }
mediaPlayerFactory.release();
String[] libvlcArgs = {...add options here...}; MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(libvlcArgs); FullScreenStrategy fullScreenStrategy = new DefaultFullScreenStrategy(mainFrame); EmbeddedMediaPlayer mediaPlayer = mediaPlayerFactory.newMediaPlayer(fullScreenStrategy); String[] standardMediaOptions = {"video-filter=logo", "logo-file=vlcj-logo.png", "logo-opacity=25"}; mediaPlayer.setStandardMediaOptions(standardMediaOptions); mediaPlayer.addMediaPlayerEventListener(new MediaPlayerEventAdapter() {...add implementation here...}); Canvas videoSurface = new Canvas(); mediaPlayer.setVideoSurface(videoSurface); String mediaPath = "/path/to/some/movie.mpg"; String[] mediaOptions = {}; mediaPlayer.playMedia(mediaPath, mediaOptions); // Do some interesting things in the application ... mediaPlayer.release(); mediaPlayerFactory.release();
public static void Play(File AudioFile){ if (!LibVLCLoader.Loaded) LibVLCLoader.loadLibVLC(); MediaPlayerFactory MPF = new MediaPlayerFactory( "--video-title=vlcj video output", "--no-snapshot-preview", "--quiet", "--quiet-synchro", "--sub-filter=logo:marq", "--intf=dummy" ); EmbeddedMediaPlayer EMP = MPF.newEmbeddedMediaPlayer(); if (EMP.prepareMedia(AudioFile.getAbsolutePath())){ EMP.addMediaPlayerEventListener(new MediaPlayerEventAdapter(){ @Override public void subItemFinished(MediaPlayer p, int i){ EMP.release(); MPF.release(); } }); Platform.runLater(() -> EMP.play()); } else{ EMP.release(); MPF.release(); } }
mediaPlayerFactory.release();