zeja
Erfahrenes Mitglied
Ich bin vorhin auf eine nette Library zum abspielen von Videos in Java gestoßen die sich sehr einfach steuern läßt: Pulsar
Hier der Code um ein Avi in einem JFrame abzuspielen:
Das sieht doch ein ganzes Stück einfacher aus als bei JMF und hat bei mir unter Ubuntu 8.04 tadellos funktioniert.
Hier der Code um ein Avi in einem JFrame abzuspielen:
Java:
package org.pulsar.snippets.media;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.io.File;
import javax.swing.JFrame;
import org.pulsar.media.AVFormatContext;
import org.pulsar.media.MediaManager;
import org.pulsar.media.player.IVideoRenderer;
import org.pulsar.media.player.Java2DRenderer;
import org.pulsar.media.player.MediaPlayer;
import org.pulsar.media.protocol.FileProtocol;
public class PlayMovieFile {
public static void main(String[] args) {
// requires pulsar_media.dll library
MediaManager.installNativeLibrary(true);
// enable file protocol
MediaManager.getInstance().registerProtocol(FileProtocol.URL_PREFIX,
FileProtocol.FACTORY);
// create Swing frame
JFrame frame = new JFrame();
frame.setSize(new Dimension(480, 300));
frame.setLayout(new BorderLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// add Java2D-based video renderer to Swing frame
final IVideoRenderer renderer = new Java2DRenderer();
frame.add(renderer.getVisualComponent());
// show frame
frame.setVisible(true);
// open movie file & find stream info (resolution, audio channels,...)
AVFormatContext formatContext = AVFormatContext.openFile(FileProtocol
.computeUrl(new File("samples/elephantsdream.avi")));
formatContext.findStreamInfo();
// create media player
final MediaPlayer player = new MediaPlayer(renderer);
player.open(formatContext);
}
}
Das sieht doch ein ganzes Stück einfacher aus als bei JMF und hat bei mir unter Ubuntu 8.04 tadellos funktioniert.