关于视频桢截取的问题,谢谢!! 我当前做了个JMF播放器,播放视频,想弄个循环取桢,那个循环是以视频开始而开始,结束而结束,中间以固定隔个时间取一次桢并转换成JPG格式,我自己想可能是用视频时间轴来定循环起始和结束条件,但不知道怎么弄,请有高手代码指点下吗?谢谢拉! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 主要问题就是那个视频进度条,怎么在程序里面体现或者使用,比如我想做的循环是以进度条开始就开始,1秒取一桢,进度条结束结束,这个循环的语句是怎么写啊?for(.....)谢谢 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); }} ///:~ 楼上的朋友,你是只做个音频播放器吗?还是想视频播放器,如果是视频的话,我可以把我的代码给你去用的,音频的话应该相对简单很多,用JAVA 本身的APPLET就可以实现完成 用jmf 做音频的 视频的都能吧》?只可惜我写的音频的都播放不了!!也搜不到相关资料查看哪里出错了!!!很希望得到你的代码研究一下!!呵呵 给你非常感谢你啊!!! 终于知道我程序里 的错误了!!谢谢你哦!!听说书店有卖专门讲jmf的书的,我去过也没买到。你也可以去书店看一下啊!说不定就解决了 呢!!网上这方面的只是真是太少了。搜了一堆都是重复的!给你个网站 http://www.open-open.com/60.htm 这里好多开源的多媒体java开发的。有好些也是用jmf开发的。感兴趣的话就开源码吧。呵呵!!然后写自己的所得放在博客上。跟俺看看 !! http://www.open-open.com/60.htm 这个网站 运行程序无反应?不知问题出在那了?帮忙看一下 swing窗口调用的问题 如何在打jar 包时候 把其他JAR文件打进去 大虾们救命啊,我的函数出问题了 哪位朋友有个人的GUI作品? 十万火急,请帮忙解决乱码问题 大家来说说,这个窗口为什么不能关闭呢? 如何用JAVA调用WIN32API,解决后马上给分 java编译时出错,我应该把java放在一个固定的目录下,还是任何地方都可以? java中如何表示time的类型,用那个包中的那个类? 请问awt都有哪些BUG ? 有经验的人帮忙指教一下~~ 如何判断文本框是否修改,高手给指点一下,谢谢!
我把我的代码给你发一下 可以帮我看下吗??谢谢了!!!
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);
}
} ///:~
很希望得到你的代码研究一下!!呵呵
给你
非常感谢你啊!!!
听说书店有卖专门讲jmf的书的,我去过也没买到。你也可以去书店看一下啊!
说不定就解决了 呢!!网上这方面的只是真是太少了。搜了一堆都是重复的!
给你个网站
http://www.open-open.com/60.htm 这里好多开源的多媒体java开发的。有好些也是用jmf开发的。感兴趣的话就开源码吧。呵呵!!然后写自己的所得放在博客上。跟俺看看 !!