2011-01-13 118 views
15

有人可以请解释我需要采取的步骤,以添加一个 新的编解码器到Android?添加视频编解码器到Android

此外,我希望将编解码器安装为应用程序 安装(或首次启动)的一部分,而不是作为完整Android OS 构建的一部分。

我想这样做的原因是,我有一个需要 显示非支持的编解码器(HLS或TS)的视频的应用程序,但我不会 想建立一个完全成熟的视频播放器 - 只需与现有的内置播放器 集成即可。

谢谢, Alik。

回答

9

有人可以请解释我需要采取的步骤,以便添加一个新的编解码器到Android?

构建您自己的固件,或构建您自己的媒体播放器(如Android的VLC)。

此外,我希望编解码器作为应用程序安装(或首次启动)的一部分进行安装,而不是作为完整的Android OS版本的一部分进行安装。

这是不可能的,除非你建立你自己的媒体播放器。

我想这样做的原因是我有一个应用程序需要显示不支持的编解码器(HLS或TS)的视频,但我不想构建一个完整的视频播放器 - 只需与现有的内置播放器集成即可。

VLC for Android不久将发布(至少对于某些手机),因此它可能能够播放您的格式。

+0

为什么不可能?我阅读了一些关于OMX的东西,并且认为我只是实现了正确的编解码器类,将它们放在正确的位置,将它们连接到stagefright,并且我将使用默认播放器实现新的编解码器实现。问题是我没有看到每个步骤的文档。 –

+2

@ kilaka:除非您要构建自己的固件,否则无法“将它们放在正确的位置”,因为您无法在任何位置使用写入权限。 – CommonsWare

0

我认为可以通过参考Android开发者页面Adding custom codec to android来添加自定义编解码器(尽管我没有尝试过)。

你可以尝试通过openMAX IL层添加你的编解码器,然后调用android媒体播放器播放它(我相信vlc已经完成了这种方式,但使用它自己的播放器)。真棒播放器,android默认播放器,只是获取通过openMAX API提供的编解码器列表,如果有编解码器,它就会播放。因此,在您的应用初始化期间尝试添加编解码器并调用媒体播放器是值得的。