Android Dev - 第三方媒体播放器SDK或其他选项?

时间:2011-06-10 08:34:32

标签: android video android-ndk video-streaming decoding

我正在为一个多媒体网站编写一个应用程序我经常遇到问题。

  

在抓取视频流URL(包含在mp4容器中的h264)并尝试使用原生视频播放器播放后,它会失败。

这是在我的Moto Droid上运行2.2(BB)和2.3(CM7)。我已经在Xoom (3.1 stock)上测试了应用,效果很好。

我还有一位朋友在她的Xperia Arc(据我所知2.3库存)测试它并且它对她有效。让我觉得这是一个硬件解码器问题,因为我可以使用RockPlayer's software decoder播放流,但不能使用硬件。

所以我想在这里找到三件事:

  
      
  1. 原生Android播放器是否支持软件解码。如果是这样,我如何判断它是否使用硬件或软件并且是否可以切换?
  2.   
  3. 是否有任何第三方媒体播放器提供随时可用的SDK(免费)。
  4.   
  5. 我怎么能在Rock Player等其他应用中打开视频,因为我知道它有效。当我使用浏览器下载视频时,它会询问我想要它使用的视频播放器。 如何在我的应用中弹出这个内容,然后将视频发送给它?
  6.   

1 个答案:

答案 0 :(得分:0)

  1. 是的,Android提供软件h264解码器,但它可能在2.2中不可用。您可以首选软件编解码器,请参阅stagefright的AOSP源代码:

      

    usage: stagefright [options] [input_filename] … -s(oftware) prefer software codec …

  2. ffmpeg在Android上有许多衍生品和包装器,可以提供各种许可限制。

  3. 启动针对特定应用的Intent非常容易。您可以使用setComponent()完全匹配您需要的活动。处理问题的更好和更灵活的方法是创建自定义选择器(参见例如Custom filtering of intent chooser based on installed Android package name),以让用户决定她/他喜欢哪个玩家。使用自定义选择器,您可以决定隐藏一些注册到Action的处理程序(例如,不要在3.0以下的Android版本上使用系统播放器)。