Commit 54376409 authored by Christophe Mutricy's avatar Christophe Mutricy

Missing in previous backport. Fix make dist

parent b8e2f52f
= Frequently Asked Questions =
== 1. Is it possible to use JVLC in a Java Applet? ==
Yes and No.
Yes because it's a Java program and even if it contains
native code, it is still possible to deploy the applet (take a look at
[http://www.raditha.com/java/jni/ this] article).
No because native code for the Windows and MacOS platforms still needs
to be written.
== 2. Is it possible to use JVLC in Windows (or MacOS)? ==
Yes, you can compile VideoLAN Java Bindings with --enable-java-bindings
in ./configure . It works for GNU/Linux and Win32, but it doesn't for MacOS.
== 3. What features of Videolan are available to JVLC? ==
JVLC contains all the features available in Videolan. In fact, JVLC uses
Videolan core as its core, so JVLC is capable of everything Videolan can
do.
== 4. Why shouldn't I use JMF (Java Media Framework) for multimedia
applications? ==
Well, JVLC and Videolan are free (as in freedom) software, so you can extend
and adapt them to your needs, while JMF is free as in beer. Furthermore JVLC
is really straightforward and simple to use.
== 5. How can I help you with this application? ==
Try the software and report any errors or bugs you find to me. This application
needs porting to MS/Windows and MacOS, if you are able to implement the JNI for
these platforms you may contribute the code.
== 6. I have a compile error, what's the problem? ==
Did you set the JAVA_HOME environment variable? If not, do:
export JAVA_HOME=/path/to/jvm
For example I added to my .bashrc:
export JAVA_HOME=/usr/lib/j2sdk1.5-sun
Thanks to:
* Kuldipsingh Pabla
for solaris port and various contributions to the native interface.
for the GenericVideoWidget class
* Tvrtko Bedekovic
for initial win32 port
import org.videolan.jvlc.JVLC;
import org.videolan.jvlc.VLCException;
public class VLCExample
{
public static void main( String[] args )
{
boolean videoInput = false;
JVLC jvlc = new JVLC(args);
try {
jvlc.playlist.add("file://" + System.getProperty( "user.dir" ) + "/a.avi", "a.avi");
jvlc.playlist.add("file://" + System.getProperty( "user.dir" ) + "/a.mp3", "a.mp3");
jvlc.playlist.play( -1 , null );
} catch (VLCException e) {
e.printStackTrace();
}
while (! jvlc.isInputPlaying()) ;
while (! jvlc.hasVout() );
// testing vout functionalities
try {
Thread.sleep(2500);
if (jvlc.hasVout()) videoInput = true;
} catch (InterruptedException e) {
e.printStackTrace();
}
if (videoInput) {
try {
System.out.print(jvlc.video.getWidth());
System.out.print("x");
System.out.println(jvlc.video.getHeight());
} catch (VLCException e) {
e.printStackTrace();
}
}
try
{
if (videoInput) {
System.out.print("Fullscreen... ");
jvlc.video.setFullscreen(true);
Thread.sleep(3000);
System.out.println("real size.");
jvlc.video.setFullscreen(false);
System.out.print("Taking snapshot... ");
jvlc.video.getSnapshot( System.getProperty( "user.dir" ) + "/snap.png");
System.out.println("taken. (see " + System.getProperty( "user.dir" ) + "/snap.png )");
Thread.sleep(2000);
System.out.println("Resizing to 300x300");
jvlc.video.setSize(300, 300);
}
System.out.print("Muting...");
jvlc.audio.setMute(true);
Thread.sleep(3000);
System.out.println("unmuting.");
jvlc.audio.setMute(false);
Thread.sleep(3000);
System.out.println("Volume is: " + jvlc.audio.getVolume());
System.out.print("Setting volume to 150... ");
jvlc.audio.setVolume(150);
System.out.println("done");
Thread.sleep(3000);
System.out.println("INPUT INFORMATION");
System.out.println("-----------------");
System.out.println("Total length (ms) :\t" + jvlc.input.getLength());
System.out.println("Input time (ms) :\t" + jvlc.input.getTime());
System.out.println("Input position [0-1]:\t" + jvlc.input.getPosition());
if (videoInput)
System.out.println("Input FPS :\t" + jvlc.input.getFPS());
}
catch (Exception e)
{
System.out.println("Something was wrong. I die :(.");
jvlc.destroy();
}
System.out.println("Everything fine ;)");
System.out.println("Playing next item");
try {
jvlc.playlist.next();
} catch (VLCException e) {
e.printStackTrace();
}
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
jvlc.destroy();
return;
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment