jmf를 사용하여 비디오를 재생하려고합니다. 말 그대로 모든 오류와 예외를 제거하기 위해 열심히 노력한 후 여기에 널 포인터 예외가 발생합니다. 여기서 NullPointerException을 살펴본 결과, PlayerPlayer의 선언이 올바르지 않아야한다는 것을 알았습니다. MediaPlayer는 초기화되지 않았습니다.nullpointerexception을 제거하는 방법
내가 나중에 제공하는 값으로 직접 초기화하는 또 다른 문제는 예외도 잡아야한다는 것입니다. 그러면 플레이어가 선언되지 않을 수도 있습니다.
mediaURL
및 Player
을 어떻게 선언하여 nullpointerexception
을 제거하고이 비디오를 재생할 수 있습니까?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Graphics;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.media.*;
import java.net.URL;
import java.io.*;
import java.net.MalformedURLException;
public class mediaPlayer extends JFrame
{
URL mediaURL;
Player mediaPlayer;
public mediaPlayer()
{
JFrame f = new JFrame("new");
f.setLayout(new BorderLayout());
f.setSize(500,300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//file you want to play
try{
String name = "file:///"+new File("output.mp4").getAbsolutePath();
mediaURL = new URL(name);
}catch (MalformedURLException ex){}
//create the media player with the media url
try{
mediaPlayer = Manager.createRealizedPlayer(mediaURL);
}catch(IOException ex){} catch(NoPlayerException ex){} catch(CannotRealizeException ex){}
//get components for video and playback controls
Component video = mediaPlayer.getVisualComponent();
Component controls = mediaPlayer.getControlPanelComponent();
add(video,BorderLayout.CENTER);
add(controls,BorderLayout.SOUTH);
f.setVisible(true);
}
public static void main(String[] args){
new mediaPlayer();
}
}
갱신 2
javax.media.NotRealizedError: Cannot get visual component on an unrealized playe
r
at com.sun.media.BasicPlayer.getVisualComponent(BasicPlayer.java:491)
at com.sun.media.MediaPlayer.getVisualComponent(MediaPlayer.java:48)
at mediaPlayer.<init>(mediaPlayer.java:29)
at mediaPlayer.main(mediaPlayer.java:38)
Exception in thread "main" javax.media.NotRealizedError: Cannot get visual compo
nent on an unrealized player
at com.sun.media.BasicPlayer.getVisualComponent(BasicPlayer.java:491)
at com.sun.media.MediaPlayer.getVisualComponent(MediaPlayer.java:48)
at mediaPlayer.<init>(mediaPlayer.java:29)
at mediaPlayer.main(mediaPlayer.java:38)
이 비디오를 재생하는이 nullpointer exception
을 제거하는 저를 도와주세요. 내 문제에 어떤 노력을했는지 모두에게 고마워. :).
Player가 인터페이스이므로이 Player Player 인스턴스와 같이 인스턴스화 해보십시오. http://docs.oracle.com/cd/E17802_01/j2se/javase/technologies/desktop/media/jmf/2.1. 1/apidocs/javax/media/Player.html –