我当前做了个JMF播放器,播放视频,想弄个循环取桢,那个循环是以视频开始而开始,结束而结束,中间以固定隔个时间取一次桢并转换成JPG格式,我自己想可能是用视频时间轴来定循环起始和结束条件,但不知道怎么弄,请有高手代码指点下吗?谢谢拉!

解决方案 »

  1.   

    主要问题就是那个视频进度条,怎么在程序里面体现或者使用,比如我想做的循环是以进度条开始就开始,1秒取一桢,进度条结束结束,这个循环的语句是怎么写啊?for(.....)谢谢
      

  2.   

    jmf的问题 我也想了好长时间了。更惨! 连音乐都不能播放,网上又找不到这方面的文章!
    我把我的代码给你发一下 可以帮我看下吗??谢谢了!!!
    import javax.media.*;
    import javax.swing.JFrame;
    import javax.swing.JFileChooser;
    import javax.swing.JMenuItem;
    import javax.swing.JMenu;
    import java.awt.event.*;
    import javawork.swing.*;
    import java.awt.Container;
    import javax.swing.JPanel;
    import javax.swing.JMenuBar;
    import java.io.IOException;public class VideoPlayer extends JFrame
    {

    public VideoPlayer()
    {

      fileToBeAdded.addActionListener(new fileListener());
      files.add(fileToBeAdded);
      
      super.setTitle(fileURL);
      System.out.println(fileURL);
      bar.add(files);
      JPanel p = new JPanel();
      p.add(bar);
        Container cp = getContentPane();
        cp.add(p);
          System.out.println(fileURL);  }
      
      
      
      
      private JMenuItem fileToBeAdded = new JMenuItem("open");
    private JMenu files = new JMenu("file");
    private JMenuBar bar = new JMenuBar();
    private String  fileURL=null;
    private Player player = null;
    private MediaLocator sourceLocator = null;




    class fileListener implements ActionListener
    {

    public void actionPerformed(ActionEvent e)
    {

    JFileChooser jFileChooser = new JFileChooser();
    int val=jFileChooser.showOpenDialog(VideoPlayer.this);
    if(val==JFileChooser.APPROVE_OPTION)
    {
    String fileDir = jFileChooser.getCurrentDirectory().toString();
      String fileName = jFileChooser.getSelectedFile().getName();
    fileURL ="file:///"+fileDir+"\\"+fileName;
    // fileURL =""+fileDir+"\\"+fileName;
    System.out.println(fileURL);
    }
    sourceLocator = new MediaLocator(fileURL);
    try
    {
       player =  Manager.createPlayer(sourceLocator);
    // player.addControllerListener(new controlListener());
          }catch(IOException iOe)
          {
           iOe.printStackTrace();
          }
          catch(NoPlayerException pe)
          {
          }
    player.start(); 
    }
    }

    public static void main(String [] args)
    {
    Console.run(new VideoPlayer(),80,40);
    }
    }
    这是上面那个程序要引入的 import javawork.swing.*;
    package javawork.swing;
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;public class Console {
      // Create a title string from the class name:
      public static String title(Object o) {
        String t = o.getClass().toString();
        // Remove the word "class":
        if(t.indexOf("class") != -1)
          t = t.substring(6);
        return t;
      }
      public static void 
      run(JFrame frame, int width, int height) {
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(width, height);
        frame.setVisible(true);
      }
      public static void 
      run(JApplet applet, int width, int height) {
        JFrame frame = new JFrame(title(applet));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(applet);
        frame.setSize(width, height);
        applet.init();
        applet.start();
        frame.setVisible(true);
      }
      public static void 
      run(JPanel panel, int width, int height) {
        JFrame frame = new JFrame(title(panel));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(panel);
        frame.setSize(width, height);
        frame.setVisible(true);
      }
    } ///:~
      

  3.   

    楼上的朋友,你是只做个音频播放器吗?还是想视频播放器,如果是视频的话,我可以把我的代码给你去用的,音频的话应该相对简单很多,用JAVA 本身的APPLET就可以实现完成
      

  4.   

    用jmf 做音频的  视频的都能吧》?只可惜我写的音频的都播放不了!!也搜不到相关资料查看哪里出错了!!!
    很希望得到你的代码研究一下!!呵呵   
    给你
    非常感谢你啊!!!
      

  5.   

    终于知道我程序里 的错误了!!谢谢你哦!!
    听说书店有卖专门讲jmf的书的,我去过也没买到。你也可以去书店看一下啊!
    说不定就解决了 呢!!网上这方面的只是真是太少了。搜了一堆都是重复的!
    给你个网站 
    http://www.open-open.com/60.htm  这里好多开源的多媒体java开发的。有好些也是用jmf开发的。感兴趣的话就开源码吧。呵呵!!然后写自己的所得放在博客上。跟俺看看 !!
      

  6.   

    http://www.open-open.com/60.htm   这个网站