gpt4 book ai didi

android - 适用于 Android 2.2 的 VideoView 源代码

转载 作者:行者123 更新时间:2023-11-30 04:08:59 26 4
gpt4 key购买 nike

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

谢谢,万斯

最佳答案

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

the VideoView.java on grepcode references an mContext object which is inherited from View, but not available in the View of the developer.android.com sdk

mContext 在android.view.View 中被标记为@hide,见head version in github .

the VideoView calls a resume method of MediaPlayer which is also not available in the standard MediaPlayer class.

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

一般来说,google提供给消费者开发者的开发API(android.jar)都剥离了com.android.internal@hide API。然而,安装在实际设备上的运行时 API (framework.jar) 拥有一切。

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

希望这是有道理的。

关于android - 适用于 Android 2.2 的 VideoView 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11129814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com