SurfaceView播放影片畫面閃動

MoneyCitys 2015-12-19 01:32:21
運行環境是 4.0.4 加載影片使用mediaplayer+surfaceview 因為surfaceview會自動填滿螢幕而拉伸影片 所以為了維持影片比例只好自己計算並設置影片大小 但問題來了 當影片原始長寬大於螢幕的時候 只要surfaceview跟螢幕邊緣有接觸就會整個螢幕閃一下 也就是影片載入後 我更改了surfaceview大小 畫面就會閃ㄧ下 這個閃不是黑一下 而是閃一下 後來經過測試 出現toast dialog 只要影片原始大小超出螢幕 就會閃一下 但若是不自己更改大小 讓其自動填滿螢幕 就不會出現閃一下的問題 請問有人知道原因嗎 我有在4.4.2的平板上測試過 卻沒有此問題 但受制於沒有其他手機無法再做測試
...全文
210 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
MoneyCitys 2015-12-21
  • 打赏
  • 举报
回复
引用 2 楼 shuhong01 的回复:
谷歌官方有个给android播放视频的项目,github地址是 https://github.com/google/ExoPlayer 可以用下看能不能解决
謝謝, 但我查了下 發現此lib包依賴MediaCodec只適用於API16+ 而我這邊出現問題的版本是API15剛好沒辦法使用
MoneyCitys 2015-12-21
  • 打赏
  • 举报
回复
引用 8 楼 xiangwang666 的回复:
我对这个问题很感兴趣 嘿嘿
你的感興趣真是我的福音 不過這是公司項目, 關鍵代碼我需要再整理整理 現在另一部分比較趕 所以暫時還無法貼上 我會盡快
xiangwang666 2015-12-21
  • 打赏
  • 举报
回复
我对这个问题很感兴趣 嘿嘿
xiangwang666 2015-12-21
  • 打赏
  • 举报
回复
你可以给我APK 帮你看看测试一下
xiangwang666 2015-12-21
  • 打赏
  • 举报
回复
听你说的感觉是 屏幕有重绘时候的卡顿啊 贴代码看看啊 感觉你可以修改一下布局 吧一个SurfaceView放在一个固定大小的Layout里面 surfaceview设置为fill_parent 试试
MoneyCitys 2015-12-21
  • 打赏
  • 举报
回复
引用 4 楼 xiangwang666 的回复:
用一张图片覆盖住视频 做一个延时处理 等视频播放后200毫秒左右 将视频第一帧缩略图给去掉 笨方法去解决这个问题
[im 這樣的確可以把第一次載入視頻的閃動給解決掉 但是之後toast dialog等之類物件浮出畫面還是會閃 而視頻用戶是可以放大縮小甚至移動的 只要在這個過程發生與螢幕邊緣接觸仍會閃
xiangwang666 2015-12-21
  • 打赏
  • 举报
回复
用一张图片覆盖住视频 做一个延时处理 等视频播放后200毫秒左右 将视频第一帧缩略图给去掉 笨方法去解决这个问题
一万个小时 2015-12-20
  • 打赏
  • 举报
回复
谷歌官方有个给android播放视频的项目,github地址是 https://github.com/google/ExoPlayer 可以用下看能不能解决
MoneyCitys 2015-12-19
  • 打赏
  • 举报
回复
自頂一下, 沒解決辦法或者不了解也沒關西 我比較想要的是是否也有人遇到這方面的問題 或者其他手機.sdk也有諸如此類的問題

80,351

社区成员

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

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