适用于Android 2.2的可用VideoView源代码

时间:2012-06-20 23:55:53

标签: android android-videoview android-source android-2.2-froyo

我正在构建自己的视频显示视图,我希望将自定义视图基于内置的Android VideoView。我正在寻找VideoView的源代码。我在Stackoverflow和其他地方找到的大多数帖子都指向grepcode。不幸的是,grepcode上的代码似乎不是developer.android.com中记录的代码,并且不是很有用。 例如,grepcode上的VideoView.java引用了一个mContext对象,该对象继承自View,但在developer.android.com sdk的视图中不可用。此外,VideoView调用MediaPlayer的resume方法,该方法在标准MediaPlayer类中也不可用。 我在哪里可以获得developer.android.com上记录的来源?

谢谢, 万斯

1 个答案:

答案 0 :(得分:1)

首先,Android基础框架是开源的,grepcode的源代码与github的原始源代码没有区别。它们都有优点和缺点,grepcode中的源代码由API级别标记,因此很容易导航特定版本的API类,其中github中的源代码具有每次提交的完整更改历史记录,但查找/检索早期版本有点复杂具体的API类。

  

grepcode上的VideoView.java引用了一个继承自View的mContext对象,但在developer.android.com sdk的视图中不可用

mContext在android.view.View中标记为@hide,请参阅head version in github

  

VideoView调用MediaPlayer的简历方法,该方法在标准MediaPlayer类中也不可用。

resume()在android.media.MediaPlayer中标记为@hide,请参阅earlier version in githubtag 2.2_r1.1 in grepcode

一般来说,谷歌为消费者开发者提供的开发API(android.jar)已经剥离了com.android.internal@hide API。但是,安装在实际设备上的运行时API(framework.jar)具有所有功能。

如果您想在自己的代码中使用这些内部和隐藏API,解决方案是使用java反射或在他的博客here中解释的解决方法inazaruk。

希望这是有道理的。