Comments (6)
在电视盒子上,我自己通过GLSurfaceView+MediaPlayer的方式是可以正常播放的,但是换成GSYVideoPlayer的SystemPlayerManager、GSYVideoType.GLSURFACE后,却无法播放了。
from gsyvideoplayer.
排除法
1、切换到 SystemPlayerManager + GSYVideoType.SURFACE
2、切换到 Exo + GSYVideoType.GLSURFACE
3、SystemPlayerManager + GSYVideoType.GLSURFACE 然后不设置 render
看看什么情况,我这边没场景去复线你的问题····
from gsyvideoplayer.
排除法 1、切换到 SystemPlayerManager + GSYVideoType.SURFACE 2、切换到 Exo + GSYVideoType.GLSURFACE 3、SystemPlayerManager + GSYVideoType.GLSURFACE 然后不设置 render 看看什么情况,我这边没场景去复线你的问题····
- 切换到 SystemPlayerManager + GSYVideoType.SURFACE :视频正常播放
- 切换到 Exo + GSYVideoType.GLSURFACE: 不设置render,视频正常播放;设置render,视频画面正常播放5秒,之后画面卡死,声音正常;
- SystemPlayerManager + GSYVideoType.GLSURFACE 然后不设置 render:没有画面,有声音
from gsyvideoplayer.
2 不设置 render 居然和 3 不设置 render 不一样····· 底层都是 MediaCodec ···· 这么神奇···
试一下 setGLRenderMode(GSYVideoGLView.MODE_RENDER_SIZE) 有没有用
还有 调整里面的 setEGLContextClientVersion 试试(直接跑 demo 工程,源码修改)
另外可以 debug 例如 GSYVideoGLViewSimpleRender 类似 onDrawFrame、onSurfaceCreated、onSurfaceChanged 是否没有正常调用
from gsyvideoplayer.
2 不设置 render 居然和 3 不设置 render 不一样····· 底层都是 MediaCodec ···· 这么神奇···
试一下 setGLRenderMode(GSYVideoGLView.MODE_RENDER_SIZE) 有没有用
还有 调整里面的 setEGLContextClientVersion 试试(直接跑 demo 工程,源码修改)
另外可以 debug 例如 GSYVideoGLViewSimpleRender 类似 onDrawFrame、onSurfaceCreated、onSurfaceChanged 是否没有正常调用
是的,我一直是在demo工程的源码中修改进行测试的,目前SystemPlayerManager依然没有办法正常工作。
但是我使用ExoPlayer时,定位到了无法正常播放的原因,问题出在我自定义的Renderer中,onFrameAvailable方法实现上,我没有添加synchronized同步块,加上之后就能正常工作了。
from gsyvideoplayer.
那就用 ExoPlayer 内核吧,ExoPlayer 基本和 System 大岔不差,现在是 androidx 的 media3
from gsyvideoplayer.
Related Issues (20)
- CacheHelper.download 下载报错 java.lang.IllegalStateException HOT 1
- app刚安装状态点击崩溃 HOT 2
- 视频点击时 全屏按钮显示隐藏的回调是哪个? HOT 1
- 根据教程编译SO库,MP2有声音了,但是https视频播放不了了,请问是啥原因呢? HOT 1
- 播放.wmv文件播放不了
- 音视频播放不同步 HOT 6
- Activity中切换Fragment被释放问题导致状态错乱控制失效 HOT 12
- 特殊视频无法播放问题 HOT 4
- 加载一个链接多次请求接口 HOT 4
- APP 上线 提示:第三方SDK以特定频率或者超频次读取DEVICEID +2,不能频繁调用获取,需要联系第三方SDK更新版本或者修改调用方式 HOT 1
- 有个功能上的问题需要咨询下 HOT 3
- 关于在Flutter 中全屏播放器的问题 HOT 3
- (已解决)开始播放后,出现软件崩溃,偶尔不崩溃,不崩溃时播放器正常播放。 HOT 5
- 有些链接不能播放 HOT 3
- 关于Flutter集成不显示原生控件的问题. HOT 2
- 设置 setAutoFullWithSize(true) 后 反向横屏 画面会先正常转过来然后立马反转到另一方向 HOT 1
- 建议手势功能添加 HOT 1
- 获取当前播放进度位置的问题
- 关于鼠标的超级奇葩的问题 HOT 3
- Android Studio下载源码时,提示Invalid version: v8.6.0-release-jitpack@aar
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gsyvideoplayer.