如何使用java播放视频?
我想用java在媒体播放器中播放视频,我使用JMF来显示视频,但是它在我从JMF库中使用的一种数据类型中给了我一个错误,下面是我的代码如何使用java播放视频?,java,media-player,media,jmf,Java,Media Player,Media,Jmf,我想用java在媒体播放器中播放视频,我使用JMF来显示视频,但是它在我从JMF库中使用的一种数据类型中给了我一个错误,下面是我的代码 public static void main(String args[]) { // create a file chooser JFileChooser fileChooser = new JFileChooser(); // show open file dialog int result = fileChooser.sh
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);
MediaPlayer mediaPanel = new MediaPlayer(mediaURL);
mediaTest.add(mediaPanel);
mediaTest.setSize(300, 300);
mediaTest.setVisible(true);
} // end inner if
} // end outer if
}
问题是它在这一行给了我一个错误
MediaPlayer mediaPanel = new MediaPlayer(mediaURL);
构造器MediaPlayer(URL)未定义,因为MediaPlayer构造器不接受任何内容,但我需要向MediaPlayer添加URL以在jframe中显示它,但我不能,有什么帮助吗?您需要使用来指定要启动的媒体的位置,请尝试以下操作:
MediaPlayer mediaPanel = new MediaPlayer();
mediaPanel.setMediaLocation(mediaURL.toString());
或者,您也可以出于同样的目的使用,但如果您有一个URL
,则代码将是:
MediaPlayer mediaPanel = new MediaPlayer();
mediaPanel.setMediaLocator(new MediaLocator(mediaURL));
您需要使用指定要启动的媒体的位置,因此请尝试以下操作:
MediaPlayer mediaPanel = new MediaPlayer();
mediaPanel.setMediaLocation(mediaURL.toString());
或者,您也可以出于同样的目的使用,但如果您有一个URL
,则代码将是:
MediaPlayer mediaPanel = new MediaPlayer();
mediaPanel.setMediaLocator(new MediaLocator(mediaURL));
如果你只想播放一个mp4文件,那就太容易了
Desktop.getDesktop().open(new File("test.mp4"));
但是,如果您想在JFrame中专门播放它
请记住,JMF不支持mp4格式。
顺便说一句,请分享您的错误信息。如果您只想播放mp4文件,那么它就很容易了
Desktop.getDesktop().open(new File("test.mp4"));
但是,如果您想在JFrame中专门播放它
请记住,JMF不支持mp4格式。
顺便说一下,请分享您的错误消息。我们也可以使用ProcessBuilder()处理任何项目或视频
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class MainClass extends JPanel{
public MainClass(){
JButton btn1 = new JButton("Button1");
btn1.setBounds(70, 50, 260, 40);
JTextField txtProName = new JTextField();
txtProName.setBounds(100, 50, 200, 40);
add(btn1);
add(txtProName);
}
public static void main(String[]args){
JFrame frm = new JFrame();
frm.getContentPane().add(new MainClass());
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setSize(200, 300);
frm.setVisible(true);
}
}
class bListener implements ActionListener{
bListener(){
public void actionPerformed(ActionEvent e){
ProcessBuilder p = new ProcessBuilder(txtProName.getText());
try{
p.start();
}catch(IOException ex){
Logger.getLogger(frm.class.getName()).log(level.SERVERE, ex.getMessage(), ex);
}
}
}
}
我们还可以将JFileChooser()添加到此项目中,从要运行的文件中选择一个。我们还可以将ProcessBuilder()用于任何项目或视频
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class MainClass extends JPanel{
public MainClass(){
JButton btn1 = new JButton("Button1");
btn1.setBounds(70, 50, 260, 40);
JTextField txtProName = new JTextField();
txtProName.setBounds(100, 50, 200, 40);
add(btn1);
add(txtProName);
}
public static void main(String[]args){
JFrame frm = new JFrame();
frm.getContentPane().add(new MainClass());
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setSize(200, 300);
frm.setVisible(true);
}
}
class bListener implements ActionListener{
bListener(){
public void actionPerformed(ActionEvent e){
ProcessBuilder p = new ProcessBuilder(txtProName.getText());
try{
p.start();
}catch(IOException ex){
Logger.getLogger(frm.class.getName()).log(level.SERVERE, ex.getMessage(), ex);
}
}
}
}
我们还可以将JFileChooser()添加到此项目中,从要运行的文件中选择一个。发布错误消息。MediaPlayer是来自javax.media.bean.playerbean.MediaPlayerId的类。是否尝试此操作?发布错误消息。MediaPlayer是来自javax.media.bean.playerbean.MediaPlayerId的类。是否尝试此操作?媒体定位器解决了这个错误,但是当我运行它时,它没有给我任何东西。jframe成功打开,但是里面没有视频,,,你能帮忙吗?JMF现在已经过时了,你不应该太依赖它,你应该使用Java FX的播放器。对于JMF,我能做的最好的事情就是提供初始教程,尤其是从
MediaPanel
下载源代码,媒体定位器解决了错误,但是当我运行它时,它没有给我任何东西,jframe成功打开,但是里面没有视频,,,,你能帮忙吗?JMF现在已经过时了,你不应该太依赖它,您更应该使用JavaFX中的播放器。对于JMF,我能做的最好的事情就是提供初始教程,从MediaPanel下载源代码