java - 第 3 方媒体播放器 SDK 或其他选项

标签 java android video

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

在抓取视频流 URL(h264 包装在 mp4 容器中)并尝试使用 native 视频播放器播放它后,它失败了。这是在我运行 2.2 (BB) 和 2.3 (CM7) 的 Moto Droid 上。我已经在我的 Xoom(3.1 库存)上测试了该应用程序,它运行良好。我还有一个 friend 在她的 Xperia Arc(据我所知是 2.3 库存)上测试过它,它对她很有效。让我认为这是一个硬件解码器问题,因为我可以使用 RockPlayer 的软件解码器正常播放流,但不能使用硬件解码器。

所以我想知道三件事:

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

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

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

最佳答案

1) Does the native Android player support software decoding. if so, how do I tell if it's using hardware or software and is it possible to toggle?

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

2) are there any 3rd part media players with readily available SDKs (free).

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

3) How can I just open the video in another app like Rock Player since I know it works. When I download a video using the browser, it asks me what video player I want it to use. How can I get this to pop up within my app and then send the video to it?

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

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

关于java - 第 3 方媒体播放器 SDK 或其他选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6309931/

相关文章:

java - org.jboss.weld.exceptions.UnsatisfiedResolutionException WELD-001334 类型 MyInterface 与限定符 @Any @MyAnnotation 的依赖关系不满足

java - 如何在android中动画结束后隐藏图像

android - Jetpack compose 中如何让懒惰的列项占据整个高度?

ruby-on-rails - Rails Assets 管道和字节服务 HTML5 视频

java - 使二进制加法表现得像(压缩的)十进制加法

java - 如何正确销毁一个Spring配置类

java - 什么时候适合用 volatile 成员替换 AtomicReference?

android - 如何实现隐藏菜单

video - RTSP 流如何在低 FPS 下工作

html - FFMPEG 转换 HTML 5 视频不工作