Total members 11892 |It is currently Thu Sep 19, 2024 10:52 pm Login / Join Codemiles

Java

C/C++

PHP

C#

HTML

CSS

ASP

Javascript

JQuery

AJAX

XSD

Python

Matlab

R Scripts

Weka





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: -

JMF 2.1.1e:
Code:
http://java.sun.com/products/java-media/jmf/2.1.1/download.html


API Guide:
Code:
http://java.sun.com/products/java-media/jmf/2.1.1/specdownload.html


Documentation:
Code:
http://java.sun.com/products/java-media/jmf/2.1.1/documentation.html


Some Code examples i will start with easy one, and i will post the other classes in separate topics because they need quit explanation,

here its a simple class that show you the basics of jmf :

Code:


     import java
.net.MalformedURLException;
     import java.net.URL;
     import javax.swing.JFileChooser;
     import javax.swing.JFrame;
    
     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  


Code:
 

import java
.awt.BorderLayout;
import java.awt.Component;
import java.io.IOException;
import java.net.URL;
import javax.media.CannotRealizeException;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.media.Time;
import javax.media.format.VideoFormat;
import javax.swing.JPanel;

public class MediaPanel extends JPanel {

    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



_________________
Please recommend my post if you found it helpful. ,
java,j2ee,ccna ,ccnp certified .


Author:
Expert
User avatar Posts: 838
Have thanks: 2 time

Thank you casper for this post :gOOd:

_________________
M. S. Rakha, Ph.D.
Queen's University
Canada


Author:
Mastermind
User avatar Posts: 2715
Have thanks: 74 time
Post new topic Reply to topic  [ 2 posts ] 




Topic Tags

Java JMF
cron





Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
All copyrights reserved to codemiles.com 2007-2011
mileX v1.0 designed by codemiles team
Codemiles.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com