【问题标题】:3rd Party Media Player SDKs or other options3rd 方媒体播放器 SDK 或其他选项
【发布时间】:2011-06-10 17:23:05
【问题描述】:

我正在为我经常访问的多媒体网站编写应用程序,但遇到了问题。

在获取视频流 URL(h264 封装在 mp4 容器中)并尝试使用本机视频播放器播放后,它失败了。这是在我运行 2.2 (BB) 和 2.3 (CM7) 的 Moto Droid 上。我已经在我的 Xoom(3.1 股票)上测试了该应用程序,它运行良好。我也有一个朋友在她的 Xperia Arc 上测试过(据我所知是 2.3 股票),它对她有用。让我觉得这是硬件解码器的问题,因为我可以使用 RockPlayer 的软件解码器很好地播放流,但不能使用硬件解码器。

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

  1. 原生安卓播放器支持软件解码吗?如果是这样,我如何判断它使用的是硬件还是软件,是否可以切换?

  2. 是否有任何第三方媒体播放器提供现成的 SDK(免费)?

  3. 既然我知道它可以工作,我如何才能在另一个应用程序(如 Rock Player)中打开视频?当我使用浏览器下载视频时,它会询问我希望它使用哪个视频播放器。我怎样才能让它在我的应用中弹出,然后将视频发送给它?

【问题讨论】:

    标签: java android video


    【解决方案1】:

    1) 原生安卓播放器 支持软件解码。如果是这样,如何 我要告诉它是使用硬件还是 软件,可以切换吗?

    您所拥有的只是默认编解码器。你不能“切换”任何东西。唯一的选择是提供您自己的软件编解码器,使用 Android NDK 构建并捆绑在 APK 中。

    2) 是否有任何第三部分媒体 具有现成 SDK 的播放器 (免费)。

    GPAC 的 MP4Box 的作者提供了Osmo4 for Android,这是一个从头开始构建的替代视频播放器,包括软件编解码器。它是开源的: http://sourceforge.net/apps/trac/gpac/browser/trunk/gpac/applications/osmo4_android

    3) 我怎样才能在 另一个应用程序,例如 Rock Player,因为我 知道它有效。当我下载视频时 使用浏览器,它问我什么 我希望它使用的视频播放器。怎么能 我让它在我的应用程序中弹出并 然后把视频发给它?

    这种“弹出窗口”称为选择器,可以使用ACTION_VIEW intent 创建,使用类似:

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(uri, "video/mp4");
    startActivity(Intent.createChooser(intent, "View with:"));
    

    【讨论】:

    • 我在发布后不久就找到了选择器,但我会研究 Osmo4,谢谢你的信息。然而,我喜欢让我的用户选择他们想要的播放器而不是试图在应用程序中只支持一个播放器的想法。让我更轻松:P
    【解决方案2】:

    1) 原生安卓播放器是否支持软件解码。如果是这样,我如何判断它是使用硬件还是软件,是否可以切换?

    它很可能默认使用硬件解码器。默认支持软件解码器,但您无法从应用程序级别切换它们。

    【讨论】:

      猜你喜欢
      • 2011-09-12
      • 2020-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      相关资源
      最近更新 更多