我用Mediacode + surfacetexture播放一个h264的视频数据  在config的时候传入了surfacetexture的surface
我surfacetexture写在了activity的layout中  
但现在我要实现横竖屏切换就写了2个不同的布局  每个布局中都有一个surfacetexture 但这样切换的时候surfacetexture要重新创建 这样的话  视频得重新播放  画面就不是一个流畅的效果了 我想问怎么样能中途替换mediacode开始作用时decoder.configure(format, surface, null, 0);使用的surface  这样就能实现流畅的播放

解决方案 »

  1.   

    在同一个布局XML中,写两套布局,一用于横屏,一用于竖屏。 通过visibility属性动态显示/隐藏别的按钮相关的控件,而显示画面的控件则根据横竖屏动态设置它的高宽
      

  2.   

     我现在 播放界面处理的东西太多了  写在一起  改动很大  而且里面处理的逻辑会乱掉  所以我想如果能 在mediacode不重建  中途替换掉最早传入的surface  那么就最好了
      

  3.   

    我暂时是 将数据填充这块不变  surface相关初始化一次 会黑一下  但数据不断  这个等待过程大大减少了  但还是会闪黑一下