为什么我不能在Android上使用JMF?

时间:2013-12-15 20:52:27

标签: java android media-player

我并非 希望在Android上使用Java Media Framework(JMF),但我正在寻找有关为什么的详细信息不可能使用它。 (我知道它被认为已经过时了,我知道在Android中可能有更好的方法来实现某些功能,例如:http://developer.android.com/guide/topics/media/index.html

尽管如此,我需要更多有关Android上JMF的信息,但我能找到的是“JMF无法在Android上运行” - 但我想知道为什么。

所以我有两个问题:

  • 您是否知道任何类型的“官方”声明,例如谷歌或甲骨文,声称Android上不支持JMF?我无法找到类似的东西。
  • 为什么JMF应该不在Android上工作?我对技术细节很感兴趣,并对各种参考文献表示感谢。

谢谢!

修改
更具体一点,并澄清我的方法:我构建了一个小型的测试应用程序,并试图像在标准的Java桌面应用程序(按预期工作)中那样播放音频文件。我包括JMF.jar(现在没有任何修改)编译,部署和启动应用程序 - 到目前为止没有问题。调用javax.media.NoPlayerException时会抛出(第一个)异常(Manager.createPlayer())。 这实际上是我停下来的地方,并想知道是否值得深入挖掘,尽管结果是可预测的。我决定首先询问技术背景,而不是在数小时的测试和调试中找出困难的方法(原因不是缺乏兴趣,但不幸的是现在是时间问题)。

1 个答案:

答案 0 :(得分:3)

  

我正在寻找有关无法使用它的原因的详细信息

因为它未包含在Android SDK中。 Android SE中没有包含Java SE中的大量内容。

  

您是否知道任何类型的“官方”声明,例如来自Google或Oracle,声称Android不支持JMF?

我不知道这样的陈述。他们还没有发布一份声明,说明为什么Android没有与哈勃太空望远镜集成,为什么它不包括擦鞋API等。有很多东西不在Android中;将它们全部列出是不可能的。

更一般地说,谷歌面临着限制固件大小的压力,因为固件越大,获得的成本就越高(所需的存储空间,OTA更新成本等)。因此,它们只包含Java SE SDK的一个子集,作为帮助减少固件膨胀的一种方法。

  

为什么JMF应该不在Android上工作?

因为它未包含在Android SDK中。我不知道是否有可能(更不用说实用)创建一个JMF分支,它提供类似JMF的API,但使用Android媒体功能。