是否有用于播放视频的框架或cocoa API?

时间:2009-09-17 19:53:37

标签: java objective-c cocoa video quicktime

简而言之,我想创建一个简单的视频播放器,可以播放一些主要的视频格式,例如quicktime * .mov。我需要的是:

  • 视频播放(至少最主要的格式会很棒)
  • 播放,暂停
  • 需要有关电影当前位置的信息(通过了多少秒,或百分之几)

我的目标是mac,一开始。因此,首选技术是Cocoa和Objective-C。但如果没有什么可以做的,我也可以想象用Java做点什么。有什么想法吗?

3 个答案:

答案 0 :(得分:12)

QTKit是用于使用QuickTime进行开发的(内置)Objective-C框架。它包括QTMovieViewQTMovieLayer,分别是NSView和CALayer子类,用于播放QuickTime可以理解的任何内容。这些控件可以免费提供简单的播放控件。两者都可以在Interface Builder中使用,使媒体应用几乎为零代码。 QuickTime Programming Guide将帮助您入门。

您还应该检查QTKitPlayer sample code。它可以完成您描述的所有内容,并演示如何将所有QTKit组件集成到仅播放应用程序中(QTKit还支持媒体捕获和编辑)。

答案 1 :(得分:0)

您可以使用QuickTime for Java

它非常易于使用。

这是一个片段:

        QTSession.open();
        String url = "http://......mov";
        DataRef dRef = new DataRef(url);
        Movie mov = Movie.fromDataRef (dRef, StdQTConstants.newMovieActive);
        MoviePlayer player = new MoviePlayer(mov);
        mov.start();
        JComponent qtPlayer = QTFactory.makeQTJComponent(player).asJComponent();

剪辑取自Chet Haase撰写的Timing Framework的例子

该示例(时序框架中的示例)如下所示:

Java quicktime http://img41.imageshack.us/img41/7268/capturadepantalla200909p.png

答案 2 :(得分:0)

如果您想使用Java,那么Java Media Framework或它的开源模拟Freedom For Media in Java将完成这项工作。 FMJ具有与DirectShow,QuickTime For Java和Gstreamer的本机绑定。它会做你需要的一切再加上一点点。而且你不必担心你正在玩哪种格式。