MediaCodec+surfacetexture 播放视频 中途替换surface

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


...全文
1167 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leo--Wang 2018-01-02
  • 打赏
  • 举报
回复
我暂时是 将数据填充这块不变 surface相关初始化一次 会黑一下 但数据不断 这个等待过程大大减少了 但还是会闪黑一下
Jing丶無雙 2017-12-19
  • 打赏
  • 举报
回复
具体问题我也没碰到过你这种情况,这里也就只能给你提供一些思路。抱歉
Jing丶無雙 2017-12-18
  • 打赏
  • 举报
回复
那你再试试可不可以在同一个布局里面实现吧
Leo--Wang 2017-12-18
  • 打赏
  • 举报
回复
引用 1 楼 xj396282771 的回复:
当切换时,记录一下当前播放的位置或者说进度,然后搞个加载提示,直到读取到之前播放的位置再播放画面给用户
就是不能让他有几个等待的过程 要像视频软件一样 切换横竖屏 很流畅 但布局也改了的效果
Jing丶無雙 2017-12-18
  • 打赏
  • 举报
回复
当切换时,记录一下当前播放的位置或者说进度,然后搞个加载提示,直到读取到之前播放的位置再播放画面给用户
Leo--Wang 2017-12-18
  • 打赏
  • 举报
回复
引用 5 楼 xj396282771 的回复:
在同一个布局XML中,写两套布局,一用于横屏,一用于竖屏。 通过visibility属性动态显示/隐藏别的按钮相关的控件,而显示画面的控件则根据横竖屏动态设置它的高宽
我现在 播放界面处理的东西太多了 写在一起 改动很大 而且里面处理的逻辑会乱掉 所以我想如果能 在mediacode不重建 中途替换掉最早传入的surface 那么就最好了
Jing丶無雙 2017-12-18
  • 打赏
  • 举报
回复
在同一个布局XML中,写两套布局,一用于横屏,一用于竖屏。 通过visibility属性动态显示/隐藏别的按钮相关的控件,而显示画面的控件则根据横竖屏动态设置它的高宽
Leo--Wang 2017-12-18
  • 打赏
  • 举报
回复
引用 3 楼 xj396282771 的回复:
那你再试试可不可以在同一个布局里面实现吧
同一套怎么换横竖屏布局

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧