"Android多媒體框架演進:從OpenCORE到Stagefright"
Stagefright框架2.0是Android上的一个多媒体框架,相对于之前的OpenCORE框架,它更为简洁,逐渐开始取代OpenCORE成为Android的默认多媒体框架。在Android中,Stagefright以shared library的形式存在,其中的module -- AwesomePlayer可用来播放video/audio。AwesomePlayer提供了许多API,可以让上层的应用程序(Java/JNI)来调用。下面将简要介绍Stagefright框架2.0在Android上进行video playback的流程。 Stagefright框架2.0在Android多媒体架构中的位置可以参考图1,而其涵盖的模块可以参考图2。下面将以一个简单的例程来说明video playback的流程。 首先,在Android上,预设的多媒体框架是OpenCORE。OpenCORE的优点是兼顾了跨平台的移植性,而且经过多方验证,相对来说比较稳定;但是其缺点是过于庞大复杂,需要耗费相当多的时间去维护。从Android 2.0开始,Google引进了架构稍为简洁的Stagefright,逐渐取代OpenCORE成为Android的默认多媒体框架。 Stagefright在Android中是以shared library的形式存在(libstagefright.so),其中的module -- AwesomePlayer可用来播放video/audio。AwesomePlayer提供了许多API,可以让上层的应用程序(Java/JNI)来调用。 接下来,我们将具体描述Stagefright框架2.0在Android上进行video playback的流程。 首先,视频播放的流程通常是这样的:应用程序通过用户交互或程序内部逻辑来触发视频播放的操作,然后调用相应的API来启动视频播放。在Android中,AwesomePlayer是一个用于播放视频和音频的模块,它可以被上层的应用程序调用。 AwesomePlayer模块提供了一些API,可以让上层的应用程序(Java/JNI)来调用,从而实现视频播放的功能。在调用这些API之前,需要先初始化AwesomePlayer模块,然后设置相应的参数,比如视频的路径、音频输出设备等。接着,调用start()函数来开始视频的播放。在视频播放过程中,可以通过一些API来控制视频的播放状态、音量大小等。当视频播放结束或者用户手动停止播放时,需要调用相应的API来释放资源,以确保程序的稳定性和性能。 总的来说,Stagefright框架2.0在Android上进行video playback的流程比较简单清晰,上层应用程序可以通过调用AwesomePlayer模块提供的API来实现视频播放的功能。相较于OpenCORE框架,Stagefright框架2.0更加轻量级,更易于维护和扩展,因此在Android上有着广泛的应用和推广前景。 总的来说,Stagefright框架2.0以其简洁的架构和稳定的性能,逐渐取代了OpenCORE成为Android的默认多媒体框架,为上层应用程序提供了更加方便、高效的视频播放功能。希望未来能够更广泛地应用于Android的多媒体领域,为用户带来更加优质的多媒体体验。
![](https://csdnimg.cn/release/download_crawler_static/5802887/bg5.jpg)
![](https://csdnimg.cn/release/download_crawler_static/5802887/bg6.jpg)
剩余25页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://profile-avatar.csdnimg.cn/10df4c86cc974c72920253b4de80064a_wangcong02345.jpg!1)
- 粉丝: 243
- 资源: 38
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Vue实现iOS原生Picker组件:详细解析与实现思路
- Arduino蓝牙小车:参数调试与功能控制
- 百度Java面试精华:200页精选资源涵盖核心知识点
- Swift使用CoreData填坑指南:CoreData在Swift 3.0的变化
- 微距离无线充电器创新设计及其实验探索
- MTK Android平台开发全攻略:44步详解流程
- RecyclerView全面解析:替代ListView的新选择
- Android开发:自动适配中英文键盘解决方案
- Android调用WebService接口教程
- Android开发:BitmapUtil图片处理全解析与实例
- Android多线程断点续传实现详解
- PCA算法在人脸识别会议签到系统中的应用
- EventBus 3.0:Android事件总线详解与实战应用
- Android FileUtil:全面解析文件操作实用技巧与实例
- RecyclerView添加头部和尾部实战教程
- Android实现微博滑动固定顶部栏实战与优化
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)