Я использовал код из старого Tutorial2B.java Каприка, чтобы играть весь файл:VLCJ playmedia() останавливает игру примерно через 1 секунду воспроизведения
public class Tutorial2B {
private final EmbeddedMediaPlayerComponent mediaPlayerComponent;
public static void main(final String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Tutorial2B(args);
}
});
}
private Tutorial2B(String[] args) {
JFrame frame = new JFrame("vlcj Tutorial");
mediaPlayerComponent = new EmbeddedMediaPlayerComponent();
frame.setContentPane(mediaPlayerComponent);
frame.setLocation(100, 100);
frame.setSize(1050, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
mediaPlayerComponent.getMediaPlayer().playMedia("/home/me/sample.MP3");
}
}
Однако, я не могу получить следующий код, чтобы играть мой аудиофайл более чем на долю секунды:
public class Tutorial2B {
private final AudioMediaPlayerComponent mediaPlayerComponent;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Tutorial2B();
}
});
}
private Tutorial2B() {
mediaPlayerComponent = new AudioMediaPlayerComponent();
MediaPlayer mediaPlayer = mediaPlayerComponent.getMediaPlayer();
mediaPlayer.playMedia("/home/me/sample.mp3")
}
Любые подсказки относительно того, почему это не работает?
текущий код 21 декабря:
public class Tutorial2B {
static AudioMediaPlayerComponent mediaPlayerComponent = null;
public static void main(String[] args) {
mediaPlayerComponent = new AudioMediaPlayerComponent();
mediaPlayerComponent.getMediaPlayer().playMedia("/home/sss.mp3");
}
}
Спасибо за ваш ответ, Каприка. Я буду использовать join() в будущем. Я только что запустил музыкальный файл (без join()), и хотя музыка перестала воспроизводиться - программа все еще работает через 10 минут. Я использую Java 8 в Linux. – user465001
может ли причина, по которой он все еще работает, состоять в том, что теперь у меня есть «AudioMediaPlayerComponent» как статический член? – user465001
Я отредактировал свое оригинальное сообщение, чтобы показать, как он выглядел после того, как я удалил вызов SwingUtils. – user465001