The vlcj project will provide you with Java bindings to enable an instance of a native vlc media player to be embedded in a Java AWT Window or Swing JFrame.
You get more than just simple bindings, you also get a higher level API that hides a lot of the complexities of working with libvlc.
vlcj works on Linux and Windows, and can be made to work on Mac although there are certain requirements - see Mac Support.
At least JDK 1.5 is required, JDK 1.6 is recommended, and it works without changes on JDK 1.7.
Detailed instructions on how to install and use the vlcj framework on your Mac are available HERE.
Here are some key features of "vlcj":
· Status controls - e.g. length, time;
· Basic play-back controls - play, pause, stop;
· Volume controls - volume level, mute;
· Chapter controls - next/previous/set chapter, chapter count;
· Time/Position controls;
· Sub-picture/sub-title controls - get/set, count;
· Snapshot controls;
· Logo controls - enable/disable, set opacity, file;
· Marquee controls - enable/disable, set colour, size, opacity, timeout;
· Callback events - playing, finished etc;
· Full-screen support;
· Play local files or stream over the network;
· Multiple player instances in the same application, see Multiple Player Instances;
· Video adjustment controls (hue, saturation, brightness, contrast, gamma);
· Direct video buffer access;
· Native log access.