stagefright flow
来源:互联网 发布:北京 妇产科 排名 知乎 编辑:程序博客网 时间:2024/05/05 05:58
也是草稿箱里的内容,想当年的知识:~不过还没写清楚。先放出来,然后慢慢地去完成。
在java层实用多媒体框架有下面几部:
1. new MediaPlayer()
2. setDataSource()
3. prepare()
4. play()
每一步都做了什么:
new MediaPlayer():
native_setup(): new MediaPlayer()------>setMediaPlayer()
setDataSource():
最终在AwesomePlayer中调用setAudioSource()和setVideoSource(). 这里的audio source和videosource还不具备解码功能。
prepare():
最终在AwesomePlayer中调用initAudioDecoder()和initVideoDecoder(). 封装了解码功能
play():
怎么开始解码的需要详细整理一下。
在prepare()和play()过程中,触发AwesomePlayer的工作是通过发送消息来完成的:
prepare(): mQueue.postEvent(mAsyncPrepareEvent);
play(): mQueue.postEventWithDelay(mVideoEvent, delayUs < 0 ? 10000 : delayUs);//仅仅针对video的播放
//audio的播放时通过startAudioPlayer_l()来开始的。
mQueue是TimedEventQueue类型的对象。需要先调用mQueue.start()来启动这个event queue用来接受并处理消息。postEvent和postEventWithDelay的参数在这里是一个AwesomeEvent对象。 AwesomeEvent继承自TimedEventQueue::Event类。
- stagefright flow
- 图文版stagefright Arch 01 -- AwesomePlayer playback flow
- StageFright
- stagefright
- stagefright
- StageFright
- StageFright
- flow
- flow
- flow
- flow
- flow
- flow
- stagefright框架
- StageFright介绍
- stagefright框架
- stagefright框架
- stagefright + omx
- 算法之旅,直奔<algorithm>之二十二 sort
- 字符串的链接(数组和指针)
- Mybatis学习笔记(三)
- Matlab基本函数-hidden函数
- ubuntu 下mod_perl开发环境搭建
- stagefright flow
- Socket服务器整体架构概述
- 地图服务标注显示乱码问题
- 算法时间复杂度的计算
- 如何用批处理遍历文件夹
- 使用VBA解析HTML文档
- 第17周项目23-三色球问题
- 获取详细变更的件数
- 问题定位