VLCj рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореАрдбрд┐рдпрд╛ рдЪрд▓рд╛рдПрдВ

рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕


(рдЖрдк рддреБрд░рдВрдд рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд▓реЗ рдЖрдЗрдЯрдо рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ)

рдЬрд╛рд╡рд╛ рд╕реАрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдЬрдм рдореИрдВрдиреЗ рд╕реНрд╡рд┐рдВрдЧ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХреА, рдЙрд╕рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЧрдпрд╛, "рд▓реЗрдХрд┐рди рдСрдбрд┐рдпреЛ рдпрд╛ рд╡реАрдбрд┐рдпреЛ рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдП?"ред рдореИрдВрдиреЗ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП Google рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЕрдлрд╡рд╛рд╣ рдлреИрд▓рд╛ рджреА, рд╡рд╣рд╛рдБ рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЦреЛрдж рд▓рд┐рдП, рдЬреЛ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдореБрдЭреЗ рдареАрдХ рд╡рд╣реА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ, рдЗрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрд╣реБрдд рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреНрд░рд╛рд░реВрдк рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИрдВред рдЕрднреА рднреА рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдлрд╡рд╛рд╣, рдореИрдВ рдЕрдВрдд рдореЗрдВ рдХреБрдЫ рд╣реИ рдХрд┐ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдерд╛ред VLCj рд▓рд╛рдЗрдмреНрд░реЗрд░реА VLC рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдпрд░ рд╕реЗ рдХреЛрдбреЗрдХреНрд╕ рд▓реЗрддреА рд╣реИ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рдЦреЗрд▓рддреА рд╣реИред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд╕рд╛рде рдкреАрдбрд╝рд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рдФрд░ рджрд┐рди рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░ JFrame рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдЦреЗрд▓рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред

рдЪрд▓реЛ рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЙрддрд░реЛ:


1. рд╕реНрд╡рдпрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд▓реЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╕рдВрдЧрддрддрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ) рд▓рд┐рдВрдХ

2. рдпрджрд┐ рдЖрдкрдиреЗ рдЕрднреА рддрдХ рд╡реАрдПрд▓рд╕реА рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЗрд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реАрдбрд┐рдпреЛрд▓реИрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓реЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)ред

3. рдЖрдИрдбреАрдИ, рдореИрдВ рдЧреНрд░рд╣рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдирд╛рдо рджреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "MediaPlayer"ред

рдЕрдм рдЕрдкрдиреЗ рдЧреНрд░рд╣рдг-рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ MediaPlayer рдлрд╝реЛрд▓реНрдбрд░ рдЦреЛрд▓реЗрдВ, рдФрд░ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВред

рдЖрдЧреЗ рдЧреНрд░рд╣рдг рдореЗрдВ, рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ, "рдмрд╛рд╣рд░реА рдЬрд╛рд░ рдЬреЛрдбрд╝реЗрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдлрд╝рд╛рдЗрд▓ vlcj-3.0.1.jar рдЦреЛрдЬреЗрдВ рдФрд░ рдЪреБрдиреЗрдВред HIM рдФрд░ HIM рдХреЛ рд╣реА рдЪреБрдиреЗрдВред

рдЗрд╕рд▓рд┐рдП, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рдерд╛ред рдЖрдЧреЗ рд╣рдореЗрдВ рдХрдХреНрд╖рд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Test.java рдмрдирд╛рдПрдВ (рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд┐рд╕реА рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред

рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рд▓реА рд╡рд░реНрдЧ рдорд┐рд▓рд╛ рд╣реИ:

public class Test { public static void main(String[] args) { } } 

рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдПрдХ JFrame рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЕрдкрдирд╛ рд╡реАрдбрд┐рдпреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдо рдПрдХ JPanel рднреА рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдХреИрдирд╡рд╕ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдЕрдкрдиреЗ рд╡реАрдбрд┐рдпреЛ рдкреНрд▓реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рддрд╣ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред

 public class Test { public static void main(String[] args) { JFrame f=new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); f.setBounds(100,100,1000,600); Canvas c=new Canvas(); c.setBackground(Color.black); JPanel p=new JPanel(); p.setLayout(new BorderLayout()); p.add(c); f.add(p); } } 

рддреЛ, рджреГрд╢реНрдп рднрд╛рдЧ рддреИрдпрд╛рд░ рд╣реИред рдЕрдЧрд▓рд╛, рд╣рдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ VLC рдкреНрд▓реЗрдпрд░ рд╕реЗ рд╕реАрдзреЗ рдореБрдбрд╝рддреЗ рд╣реИрдВред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рд╣рдорд╛рд░реЗ рдлреНрд░реЗрдо рдореЗрдВ рд╣реА рдмрдирд╛рдПрдВред

 NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "C:\\Program Files\VideoLAN\VLC"); Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class); MediaPlayerFactory mpf= new MediaPlayerFactory(); EmbeddedMediaPlayer emp= mpf.newEmbeddedMediaPlayer(new Win32FullScreenStrategy(f)); emp.setVideoSurface(mpf.newVideoSurface(c)); emp.setEnableMouseInputHandling(false); emp.setEnableKeyInputHandling(false); String file="C:\\Users\Admin\eclipse-workspace\MediaPlayer/video.avi"; emp.prepareMedia(file); emp.play(); 

рдпрд╣рд╛рдВ рд╣рдордиреЗ рд╡реАрдПрд▓рд╕реА рдкреНрд▓реЗрдпрд░ (рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдлрд╛рдЗрд▓реЗрдВ libvlc.dll, libvlccore.dll рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдлрд╝реЛрд▓реНрдбрд░) рдХреЗ рд▓рд┐рдП рдкрде рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ред рд╣рдордиреЗ рдПрдХ рдЙрдиреНрдирдд рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдпрд░ рдмрдирд╛рдпрд╛ (рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ "рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдпрд░" рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реЗрдЯ рд╣реИ), рдЗрд╕реЗ рдПрдХ рд╕рддрд╣ рд╕реМрдВрдкрд╛, рд╡реАрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛, рдкреНрд▓реЗрдмреИрдХ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рддреИрдпрд╛рд░ рдХреА, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдЦреЗрд▓рд╛ред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдкрдХрд╛ рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

 import java.awt.BorderLayout; import java.awt.Canvas; import java.awt.Color; import javax.swing.JFrame; import javax.swing.JPanel; 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; public class Test { public static void main(String[] args) { JFrame f=new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); f.setBounds(100,100,1000,600); Canvas c=new Canvas(); c.setBackground(Color.black); JPanel p=new JPanel(); p.setLayout(new BorderLayout()); p.add(c); f.add(p); NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "C:\\Program Files/VideoLAN/VLC"); Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class); MediaPlayerFactory mpf= new MediaPlayerFactory(); EmbeddedMediaPlayer emp= mpf.newEmbeddedMediaPlayer(new Win32FullScreenStrategy(f)); emp.setVideoSurface(mpf.newVideoSurface(c)); emp.setEnableMouseInputHandling(false); emp.setEnableKeyInputHandling(false); String file="C:\\Users\Admin\eclipse-workspace\MediaPlayer/video.avi"; emp.prepareMedia(file); emp.play(); } } 

рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐:
- VLC рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд░рд╛рд╕реНрддрд╛ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
- рдЖрдкрдХреЗ рд╡реАрдбрд┐рдпреЛ рдХрд╛ рдкрде рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк VLC рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдпрд░ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЙрди рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ VLC рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рднреА рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХрдард┐рдирд╛рдИ рд╣реБрдИ рдЬреЛ рдирд╛рдо рдпрд╛ рдкрде рдореЗрдВ рд╕рд┐рд░рд┐рд▓рд┐рдХ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╕рдорд╛рди рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рд╡рд░реНрдЧ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдЬрд╛рдПрдВ рдФрд░ рдЗрд╕рдХреА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ UTF-8 рдореЗрдВ рдмрджрд▓ рджреЗрдВ

Source: https://habr.com/ru/post/hi434126/


All Articles