这是javafx中的视频播放器。我们可以支持mkv,vob,avi等扩展吗? 这有可能在javafx中使用gstreamer来支持其他扩展吗? 我们怎么能使用gstreamer或者如果没有那么plz说任何其他方式来支持videoplayer其他扩展...
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Slider;
import javafx.scene.layout.VBox;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class MoviePlayer extends Application {
/**
*
*/
public static void main(String args[])
{
launch(args);
}
@Override
public void start(Stage arg0) throws Exception {
final Stage stage=new Stage();
stage.setTitle("Video Player");
Group root = new Group();
Media media = new Media("file:///C:/Users/vi/downloads/Video/a.mp4");
final MediaPlayer player=new MediaPlayer(media);
MediaView view=new MediaView(player);
// System.out.println("media.Width"+media.getWidth());
final VBox vbox=new VBox();
Slider slider=new Slider();
root.getChildren().add(view);
root.getChildren().add(vbox);
root.getChildren().add(slider);
Scene scene=new Scene(root, 400,400,Color.BLACK);
stage.setScene(scene);
stage.show();
player.play();
player.setOnReady(new Runnable() {
@Override
public void run() {
int w=player.getMedia().getWidth();
int h=player.getMedia().getHeight();
stage.setMinWidth(w);
stage.setMinHeight(h);
vbox.setMinSize(w,100 );
vbox.setTranslateY(h);
}
});
}
}
答案 0 :(得分:0)
旧话题,但今天绊脚石提出了gstreamer-java repo on GitHub。已经有几年了但是最近有新的gst1-java和gst1-java-fx项目。如11天前更新。尝试这些示例,看看它们是否可以接受其他电影格式将是很有趣的。但是看来文档很少。
另一种选择是使用ffmpeg或手刹将视频重新混合为另一种容器格式。