]> git.sesse.net Git - vlc/blob - bindings/java/VLCExample.java
e679698ee95aa30aeaa7a4bf17d2f3d5f44cd6e0
[vlc] / bindings / java / VLCExample.java
1 import org.videolan.jvlc.Audio;
2 import org.videolan.jvlc.JVLC;
3 import org.videolan.jvlc.MediaDescriptor;
4 import org.videolan.jvlc.MediaInstance;
5 import org.videolan.jvlc.VLCException;
6 import org.videolan.jvlc.Video;
7 import org.videolan.jvlc.event.MediaInstanceListener;
8
9
10 public class VLCExample
11 {
12
13     public static void main(String[] args) throws InterruptedException
14     {
15         System.out.println("== Starting VLCExample ==");
16         if (args.length == 0)
17         {
18             System.out.print("Creating a JVLC instance without args");
19         }
20         else
21         {
22             System.out.println("Creating a JVLC instance with args: ");
23             for (int i = 0; i < args.length; i++)
24             {
25                 System.out.println(i + ") " + args[i]);
26             }
27         }
28         JVLC jvlc = new JVLC(args);
29         System.out.println("... done.");
30
31         MediaDescriptor mediaDescriptor = new MediaDescriptor(jvlc, "/home/carone/apps/a.avi");
32         MediaInstance mediaInstance = mediaDescriptor.getMediaInstance();
33
34         mediaInstance.addListener(new MediaInstanceListener()
35         {
36
37             @Override
38             public void endReached(MediaInstance mediaInstance)
39             {
40                 System.out.println("Media instance end reached. MRL: " + mediaInstance.getMediaDescriptor().getMrl());
41             }
42
43             @Override
44             public void paused(MediaInstance mediaInstance)
45             {
46                 System.out.println("Media instance paused. MRL: " + mediaInstance.getMediaDescriptor().getMrl());
47             }
48
49             @Override
50             public void played(MediaInstance mediaInstance)
51             {
52                 System.out.println("Media instance played. MRL: " + mediaInstance.getMediaDescriptor().getMrl());
53             }
54
55             @Override
56             public void positionChanged(MediaInstance mediaInstance)
57             {
58                 // TODO Auto-generated method stub
59             }
60
61             @Override
62             public void timeChanged(MediaInstance mediaInstance, long newTime)
63             {
64                 System.out.println("new time: " + newTime);
65             }
66         });
67         mediaInstance.play();
68
69         while (!mediaInstance.hasVideoOutput())
70         {
71             Thread.sleep(100);
72         }
73
74         try
75         {
76             Video video = new Video(jvlc);
77             System.out.print(video.getWidth(mediaInstance));
78             System.out.print("x");
79             System.out.println(video.getHeight(mediaInstance));
80             System.out.print("Fullscreen... ");
81             video.setFullscreen(mediaInstance, true);
82             Thread.sleep(3000);
83             System.out.println("real size.");
84             video.setFullscreen(mediaInstance, false);
85             System.out.print("Taking snapshot... ");
86             video.getSnapshot(mediaInstance, System.getProperty("user.dir") + "/snap.png", 0, 0);
87             System.out.println("taken. (see " + System.getProperty("user.dir") + "/snap.png )");
88             Thread.sleep(2000);
89             System.out.println("Resizing to 300x300");
90             video.setSize(300, 300);
91         }
92         catch (VLCException e)
93         {
94             e.printStackTrace();
95         }
96
97         System.out.print("Muting...");
98         Audio audio = new Audio(jvlc);
99         audio.setMute(true);
100         Thread.sleep(3000);
101         System.out.println("unmuting.");
102         audio.setMute(false);
103         Thread.sleep(3000);
104         System.out.println("Volume is: " + audio.getVolume());
105         System.out.print("Setting volume to 150... ");
106         audio.setVolume(150);
107         System.out.println("done");
108         System.out.println("== AUDIO INFO ==");
109         System.out.println("Audio track number: " + audio.getTrack(mediaInstance));
110         System.out.println("Audio channel info: " + audio.getChannel());
111         Thread.sleep(3000);
112         System.out.println("MEDIA INSTANCE INFORMATION");
113         System.out.println("--------------------------");
114         System.out.println("Total length (ms) :\t" + mediaInstance.getLength());
115         System.out.println("Input time (ms) :\t" + mediaInstance.getTime());
116         System.out.println("Input position [0-1]:\t" + mediaInstance.getPosition());
117         System.out.println("Input FPS :\t" + mediaInstance.getFPS());
118
119         System.out.println("Everything fine ;)");
120         return;
121     }
122 }