探讨android中html5的video的生命周期,video实现的方方面面。解决如下问题:
1. 如何从html(浏览器)调用到MediaPlayer进行播放的?
2. MediaPlayer播放内容为何能在浏览器上显示?
3. MediaPlayer和浏览器的关系如何?谁控制谁?
4. MediaPlayer如何获取真正的播放资源?
估计一篇写不完,慢慢写吧
以前写的,记录一下
chromium video
pipeline
webkit/media/webmediaplayer_impl.cc
BuildMediaStreamCollection 从client查看url对应的decoder,如果找到,就启动pipeline。
这里的client就是MediaStreamImpl,寻找decoder就是找descriptor
StartPipeline
pipeline_->Start 会设置网络状态回调函数(WebMediaPlayerProxy::NetworkEventCallback)。BufferedSourceLoader 会调用BufferedResourceLoader进行网络下载
Pipeline::StartTask
BufferedDataSource::Initialize
BufferedDataSource::NetworkEventCallback
Pipeline::SetNetworkActivity
Pipeline::NotifyNetworkEventTask
WebMediaPlayerProxy::NetworkEventCallback
WebMediaPlayerProxy::NetworkEventTask
DOMURL.cpp
createObjectURL 会绑定一个url和一个stream
android video
我认为浏览器里面的video是时间驱动的
深入探讨Android中HTML5 video的生命周期与实现
本文详细解析了Android环境下HTML5 video的生命周期管理,包括如何通过浏览器调用MediaPlayer进行播放,MediaPlayer与浏览器之间的交互关系,以及MediaPlayer如何获取播放资源的过程。文章深入剖析了Chromium视频管道(chromiumvideo pipeline)和WebKit/Media/WebMediaPlayerImpl.cc中的关键实现逻辑,解释了MediaStreamCollection如何与decoder关联以启动播放流程。
855

被折叠的 条评论
为什么被折叠?



