Java是一个完美的媒体播放器?

时间:2014-03-01 11:36:19

标签: java media-player media

我期待用java创建一个媒体播放器,基本上我发现的是JMF。但是,再次,此API不是最新的,并且不支持MKV等最新格式。在更多的研究中,我偶然发现了

Any simple (and up to date) Java frameworks for embedding movies within a Swing Application?

非常激动,但随后又挖了一些,给我留下了这个

Adding other video codecs / DVD support to JavaFX 2.2

现在,我很失望并且解决了所有优秀媒体播放器(VLC,KMPlayer等)如何能够支持所有视频和音频格式的问题。它们必须使用编程语言构建,恕我直言!

所以,我的问题是,为了构建支持complete media player的{​​{1}}:

  1. all kind of media files无能吗?
  2. 有没有人使用JAVA建立一个好的媒体播放器?
  3. 只是Java还是没有现代语言可以做到这一点?
  4. 我是否依赖并选择C,C ++来做到这一点?

2 个答案:

答案 0 :(得分:0)

嗯,Java是一种编程语言,它是为支持多种平台(如Windows,Macintosh和Linux)而创建的。它适用于虚拟机:沙箱。所以有一些基于这个沙箱系统的限制:你想在Java中使用的所有内容必须与所有平台兼容,为其创建java。因为播放媒体非常接近系统,当然还有硬件(声卡,图形板等),Java可能会遇到与所有平台兼容的问题。另一个大问题是:许多编解码器,你必须阅读和播放(例如OGG-Vorbis)不是开源的,所以你会遇到找到一个好的API来解决它们的问题。当然有ARE API,但我对它们没有经验。

  

JAVA不称职吗?

不,但是没有创建Java来进行系统工作。当然,媒体播放不是系统工作,而是靠近系统。并且Java没有实现用于播放音乐或视频的编解码器,因此您需要自定义API,正如我之前所说的那样。

  

只是Java还是没有现代语言可以做到?

问题是Java:尝试一种支持更多系统和硬件功能的语言。

  

我是否依赖并选择C,C ++来做到这一点?

在我看来,这是你最好的机会。您甚至可以使用VB或VB.Net等等,但我认为,Java会遇到更大的问题。当然,这只是我的经验,其他人可能会说你不同的东西,但我认为:是的,C ++是一种更好的媒体播放器语言。

希望,那个答案对你有所帮助,问候 Cydhra

P.S。对不起,如果我的英语不太好,那就不是我的母语了......

答案 1 :(得分:0)

默认情况下,在Java中包含更多格式的主要问题是许可限制 - 许多流行的格式绝对受到专利和许可的限制,而像Oracle这样的公司支持许多格式作为JRE的一部分只是不是'成本效益(很有可能。)

然而,如前所述,JFX8现在是开源的,如果您愿意,可以编译额外的GStreamer插件。我最近使用MKV执行了此操作,如果您想使用其他格式执行此过程,请说明here

由于MKV是一种开放格式,我也没有理由说它为什么不能包含在默认类中,所以我创建了一个ticket以及补丁 - 希望它可以作为标准包含在内在不太遥远的未来(绝对最早的8u40。)

如果您现在只想在Java中获得良好的媒体支持,并且不介意将VLC作为依赖项,我会使用VLCJ - 我在我的应用程序中使用它并且它可以解决。