HTMLDocumentParser.cpp 解析HTML源文件遇到video标签时,
会调用自动生成的HTMLElementFactory中的方法createHTMLElement()
这个方法根据tag name 在ConstructorFunctionMap中找到videoConstructor。
并调用HTMLElementFactory::videoContructor.
videoContructor中调用了HTMLVideoElement::create.
由于HTMLVideoElement继承自HTMLMediaElement,create()在调用HTMLVideoElement的构造函数时,同时调用
HTMLMediaElement。video 标签播放的主要流程在HTMLMediaElement中。
HTMLMediaElement.cpp这个类是webkit 用以表示video标签的类HTMLVideoElement的基类。
MediaControlElement.cpp这个类是webkit 自带的控件类。
MediaControlRootElement.cpp这个类是webkit自带的控件类的父类,即所有的控件类都是这个类的child.
由于android4.0.1中全屏播放时使用的是android的控件类,所以我们不考虑webkit自带的控件类。
先说明这些类之间的关系。
HTMLMediaElement除了继承自HTMLEl
会调用自动生成的HTMLElementFactory中的方法createHTMLElement()
这个方法根据tag name 在ConstructorFunctionMap中找到videoConstructor。
并调用HTMLElementFactory::videoContructor.
videoContructor中调用了HTMLVideoElement::create.
由于HTMLVideoElement继承自HTMLMediaElement,create()在调用HTMLVideoElement的构造函数时,同时调用
HTMLMediaElement。video 标签播放的主要流程在HTMLMediaElement中。
HTMLMediaElement.cpp这个类是webkit 用以表示video标签的类HTMLVideoElement的基类。
MediaControlElement.cpp这个类是webkit 自带的控件类。
MediaControlRootElement.cpp这个类是webkit自带的控件类的父类,即所有的控件类都是这个类的child.
由于android4.0.1中全屏播放时使用的是android的控件类,所以我们不考虑webkit自带的控件类。
以下是android4.0.1的video 标签播放涉及到的主要类的类图。
![](https://img-my.csdn.net/uploads/201302/12/1360656789_9496.jpg)
先说明这些类之间的关系。
HTMLMediaElement除了继承自HTMLEl