Peter Clark
Grünschnabel
Hallo zusammen,
ich habe ein Problem mit derm Fava Media Framework(JMF).
Und zwar will ich in meiner Applikation die Lautstärke verändern mit Hilfe der
GainControl. Aber wenn ich über getGainControl mir diese "geholt" habe und mit dieser z.B. getMute Abfrage kommt immer eine NullPointerException!
Ich schicke euch mal Code-Ausschnitte mit!
Gruß
Peter
ich habe ein Problem mit derm Fava Media Framework(JMF).
Und zwar will ich in meiner Applikation die Lautstärke verändern mit Hilfe der
GainControl. Aber wenn ich über getGainControl mir diese "geholt" habe und mit dieser z.B. getMute Abfrage kommt immer eine NullPointerException!
Ich schicke euch mal Code-Ausschnitte mit!
Code:
package controls;
import gui.MediaPlayer_GUI;
import java.io.File;
import java.io.IOException;
import javax.media.CannotRealizeException;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.EndOfMediaEvent;
import javax.media.GainControl;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.NoPlayerException;
public class CreateMediaPlayer implements ControllerListener{
private int actualSelected;
private GainControl gain;
public File makeMediaPlayer(int index) {
actualSelected=index;
File fileTemp = (File) MediaPlayer_GUI.getListModel().get(index);
//MediaPlayer_GUI.getMediaPlayer() liefert den aktuellen Player
if (MediaPlayer_GUI.getMediaPlayer()!=null) MediaPlayer_GUI.getMediaPlayer().stop();
try {
MediaPlayer_GUI.setMediaPlayer(Manager.createRealizedPlayer(new MediaLocator("file:/" + fileTemp.toString())));
MediaPlayer_GUI.getMediaPlayer().addControllerListener((ControllerListener) this);
MediaPlayer_GUI.getMediaPlayer().realize();
MediaPlayer_GUI.getMediaPlayer().prefetch();
gain = MediaPlayer_GUI.getMediaPlayer().getGainControl();
MediaPlayer_GUI.getMediaPlayer().start();
//Hier kommt eine NullPointerException bei gain.getMute() warum?
System.out.println(gain.getMute());
return fileTemp;
} catch (NoPlayerException e1) {
System.err.println(e1.getMessage());
} catch (IOException e3) {
System.err.println(e3.getMessage());
} catch (CannotRealizeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public void controllerUpdate(ControllerEvent e) {
if (e instanceof EndOfMediaEvent) {
int next = MediaPlayer_GUI.nextInTheList(actualSelected);
File file = makeMediaPlayer(next);
MediaPlayer_GUI.setActualTitle(file.getName());
}
}
}
Gruß
Peter