Joined: Tue Nov 06, 2007 2:17 pm Posts: 847 Has thanked: 0 time Have thanks: 1 time
What is (JMF) ?
The Java Media Framework API (JMF) enables audio, video and other time-based media to be added to applications and applets built on Java technology. This optional package, which can capture, playback, stream, and transcode multiple media formats, extends the Java 2 Platform, Standard Edition (J2SE) for multimedia developers by providing a powerful toolkit to develop scalable, cross-platform technology.
I used (JMF) because, i needed it in my graduation project, i used it for playing videos and graping frames or seeking for a specific frame in a video , i will post the classes that helped me to learn this very powerful package beside the API Guide, and documentation, first let me put sun urls to get this package with API Guide and documentation: -
public class MediaTest { // launch the application public static void main( String args[] ) { // create a file chooser JFileChooser fileChooser = new JFileChooser();
// show open file dialog int result = fileChooser.showOpenDialog( null );
if ( result == JFileChooser.APPROVE_OPTION ) // user chose a file { URL mediaURL = null;
try { // get the file as URL mediaURL = fileChooser.getSelectedFile().toURL(); } // end try catch ( MalformedURLException malformedURLException ) { System.err.println( "Could not create URL for the file" ); } // end catch
if ( mediaURL != null ) // only display if there is a valid URL { JFrame mediaTest = new JFrame( "Media Tester" ); mediaTest.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
MediaPanel mediaPanel = new MediaPanel( mediaURL ); mediaTest.add( mediaPanel );
mediaTest.setSize( 300, 300 ); mediaTest.setVisible( true ); } // end inner if } // end outer if } // end main } // end class MediaTest
public MediaPanel(URL mediaURL) { setLayout(new BorderLayout()); // use a BorderLayout
// Use lightweight components for Swing compatibility Manager.setHint(Manager.MAX_SECURITY, true);
try { // create a player to play the media specified in the URL Player mediaPlayer = Manager.createRealizedPlayer(mediaURL);
// get the components for the video and the playback controls Component video = mediaPlayer.getVisualComponent(); Component controls = mediaPlayer.getControlPanelComponent();
if (video != null) { add(video, BorderLayout.CENTER); } // add video component VideoFormat vf = new VideoFormat(mediaURL.toString()); String ff= vf.MJPG; System.out.println(ff); if (controls != null) { add(controls, BorderLayout.SOUTH); } // add controls Time m=mediaPlayer.getMediaTime(); System.out.println(m.getSeconds());
mediaPlayer.start(); // start playing the media clip } // end try catch (NoPlayerException noPlayerException) { System.err.println("No media player found"); } // end catch catch (CannotRealizeException cannotRealizeException) { System.err.println("Could not realize media player"); } // end catch catch (IOException iOException) { System.err.println("Error reading from the source"); } // end catch } // end MediaPanel constructor
} // end class MediaPanel
I hope that enough for today, and i will post the other classes as soon as possible, see ya
_________________ Any help needed just reply to my topic , ccna ,ccnp certified .
msi_333
Question subject: Re: [offer]What is JMF?!
Posted: Sat Apr 05, 2008 8:21 pm
Joined: Tue Mar 27, 2007 10:55 pm Posts: 2279 Location: Earth Has thanked: 39 time Have thanks: 61 time
Thank you casper for this post
_________________ Currenlty programming with : java , html , php , and javascript . (OCJP-6 certified )