安卓如何实现视频的全屏播放

super小柔 2016-07-04 12:02:20
想问下这个功能是从新写一个activity去控制全屏还是有其他更好的办法。谁知道的把思路跟我讲一下。谢谢
...全文
854 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Birds2018 2016-07-04
  • 打赏
  • 举报
回复
视频播放依赖于画布大小 如果布局是全屏的视频一般也能全屏, 还有一种是OPENGL去处理 但也依赖画布大小 不过OPENGL可以调整视口大小
passself 2016-07-04
  • 打赏
  • 举报
回复
你写死的窗口里面肯定不能被当成全屏来呈现,除非在上面盖一层,但是不建议这样做,新建一个activity是最简单的方式,但是不知道你们的需求是不是运行弹出全屏的窗体。surfacechanged函数是当视频大小变化后才会被回调的,也就是说你先设置setWidth 和setHeight 后才会被调用到surfacechanged
super小柔 2016-07-04
  • 打赏
  • 举报
回复
引用 2 楼 lieri111的回复:
SurfaceView 放到一个FrameLayout(全屏)里面,播放的时候(MediaPlayer 里面的回调函数onPrepared)会得到真实的播放画面大小,然后会在SurfaceView 里面绘制出来。 全屏的概念分两个:一个是就强制拉全屏,就是屏幕的宽和高(这样有可能会变形) 另一个是根据视频的原始宽高(比如暴风播放中有原始比例1:1真实大小),来屏幕的宽高比,来等比(根据原始大小和屏幕大小)的缩放
我现在的情况是这样的,我再页面弄了个fragment来播放视屏,这个是个小窗口,大小被我固定死了,不知道如何等比例的去放大视屏,然后是不是在Surfaceview里面的holder的回调的surfacechanged这个方法里面去处理啊!那按照你讲的那样去弄一个surfaceview放到fragment里面绘制,那样我还得新建一个activity页面吧
passself 2016-07-04
  • 打赏
  • 举报
回复
SurfaceView 放到一个FrameLayout(全屏)里面,播放的时候(MediaPlayer 里面的回调函数onPrepared)会得到真实的播放画面大小,然后会在SurfaceView 里面绘制出来。 全屏的概念分两个:一个是就强制拉全屏,就是屏幕的宽和高(这样有可能会变形) 另一个是根据视频的原始宽高(比如暴风播放中有原始比例1:1真实大小),来屏幕的宽高比,来等比(根据原始大小和屏幕大小)的缩放

80,349

社区成员

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

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