在android平台,从4.0开始,提出了openmax架构,所以在DNK的R7版本中有了openmax AL层播放的DEMO即native media,这个DEMO就是读本地文件,然后把所读buffer通过openmax AL接口送给解码器解码播放,在DEMO里也自带了一个ts文件,我就是在这个基础上NDK编译出JNI库,放源码里mm或用eclipse编译出APK,测试了发现播放OK,从里面代码来看,是支持mpeg2 TS播放。
接着,把其他功能接口如pause,resume,stop等进行了测试,发现存在问题,看来仅仅是一个体现android中加入了openmax架构。接下来,一个重要的测试就是是否支持多码率自动切换功能,我做了一个里面有码率变化的TS文件,用此DMEO播放,发现码率切换后画面都不对了,如低码率切到高码率,画面只显示几分之一的图像了,看来要直接用AL做buffer播放且支持多码率的话是行不通的。