Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_26386469
GSYVideoPlayer
提交
3ddccbee
G
GSYVideoPlayer
项目概览
qq_26386469
/
GSYVideoPlayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
GSYVideoPlayer
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3ddccbee
编写于
1月 29, 2018
作者:
G
guoshuyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
调整render代码
上级
ede9fa3e
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
262 addition
and
158 deletion
+262
-158
app/src/main/java/com/example/gsyvideoplayer/DetailFilterActivity.java
...java/com/example/gsyvideoplayer/DetailFilterActivity.java
+2
-2
app/src/main/java/com/example/gsyvideoplayer/effect/GSYVideoGLViewCustomRender.java
...ple/gsyvideoplayer/effect/GSYVideoGLViewCustomRender.java
+1
-1
gsyVideoPlayer-java/src/main/java/com/shuyu/gsyvideoplayer/render/GSYRenderView.java
...n/java/com/shuyu/gsyvideoplayer/render/GSYRenderView.java
+63
-11
gsyVideoPlayer-java/src/main/java/com/shuyu/gsyvideoplayer/render/view/GSYSurfaceView.java
.../com/shuyu/gsyvideoplayer/render/view/GSYSurfaceView.java
+29
-6
gsyVideoPlayer-java/src/main/java/com/shuyu/gsyvideoplayer/render/view/GSYTextureView.java
.../com/shuyu/gsyvideoplayer/render/view/GSYTextureView.java
+24
-4
gsyVideoPlayer-java/src/main/java/com/shuyu/gsyvideoplayer/render/view/GSYVideoGLView.java
.../com/shuyu/gsyvideoplayer/render/view/GSYVideoGLView.java
+106
-86
gsyVideoPlayer-java/src/main/java/com/shuyu/gsyvideoplayer/render/view/IGSYRenderView.java
.../com/shuyu/gsyvideoplayer/render/view/IGSYRenderView.java
+7
-1
gsyVideoPlayer-java/src/main/java/com/shuyu/gsyvideoplayer/video/base/GSYTextureRenderView.java
...shuyu/gsyvideoplayer/video/base/GSYTextureRenderView.java
+30
-47
未找到文件。
app/src/main/java/com/example/gsyvideoplayer/DetailFilterActivity.java
浏览文件 @
3ddccbee
...
...
@@ -219,11 +219,11 @@ public class DetailFilterActivity extends GSYBaseActivityDetail<StandardGSYVideo
percentageType
=
1
;
}
//水印图动起来
/*
cancelTask2();
cancelTask2
();
mTimerTask2
=
new
TaskLocal2
();
timer
.
schedule
(
mTimerTask2
,
0
,
400
);
moveBitmap = !moveBitmap;
*/
moveBitmap
=
!
moveBitmap
;
}
});
...
...
app/src/main/java/com/example/gsyvideoplayer/effect/GSYVideoGLViewCustomRender.java
浏览文件 @
3ddccbee
...
...
@@ -214,7 +214,7 @@ public class GSYVideoGLViewCustomRender extends GSYVideoGLViewSimpleRender {
}
}
public
float
[]
getMVPMatrix
()
{
public
float
[]
get
Current
MVPMatrix
()
{
return
mMVPMatrix
;
}
...
...
gsyVideoPlayer-java/src/main/java/com/shuyu/gsyvideoplayer/render/GSYRenderView.java
浏览文件 @
3ddccbee
...
...
@@ -82,8 +82,7 @@ public class GSYRenderView {
if
(
GSYVideoType
.
getRenderType
()
==
GSYVideoType
.
SUFRACE
)
{
mShowView
=
GSYSurfaceView
.
addSurfaceView
(
context
,
textureViewContainer
,
rotate
,
gsySurfaceListener
);
}
else
if
(
GSYVideoType
.
getRenderType
()
==
GSYVideoType
.
GLSURFACE
)
{
mShowView
=
GSYVideoGLView
.
addGLView
(
context
,
textureViewContainer
,
rotate
,
gsySurfaceListener
,
effect
,
transform
,
customRender
);
setGLRenderMode
(
mode
);
mShowView
=
GSYVideoGLView
.
addGLView
(
context
,
textureViewContainer
,
rotate
,
gsySurfaceListener
,
effect
,
transform
,
customRender
,
mode
);
}
else
{
mShowView
=
GSYTextureView
.
addTextureView
(
context
,
textureViewContainer
,
rotate
,
gsySurfaceListener
);
}
...
...
@@ -93,22 +92,30 @@ public class GSYRenderView {
/*************************ShowView function start *************************/
/**
* 主要针对TextureView,设置旋转
*/
public
void
setTransform
(
Matrix
transform
)
{
mShowView
.
setRenderTransform
(
transform
);
if
(
mShowView
!=
null
)
mShowView
.
setRenderTransform
(
transform
);
}
/**
* 暂停时初始化位图
*/
public
Bitmap
initCover
()
{
return
mShowView
.
initCover
();
if
(
mShowView
!=
null
)
return
mShowView
.
initCover
();
return
null
;
}
/**
* 暂停时初始化位图
*/
public
Bitmap
initCoverHigh
()
{
return
mShowView
.
initCoverHigh
();
if
(
mShowView
!=
null
)
return
mShowView
.
initCoverHigh
();
return
null
;
}
/**
...
...
@@ -125,7 +132,8 @@ public class GSYRenderView {
* @param shotHigh 是否需要高清的
*/
public
void
taskShotPic
(
GSYVideoShotListener
gsyVideoShotListener
,
boolean
shotHigh
)
{
mShowView
.
taskShotPic
(
gsyVideoShotListener
,
shotHigh
);
if
(
mShowView
!=
null
)
mShowView
.
taskShotPic
(
gsyVideoShotListener
,
shotHigh
);
}
/**
...
...
@@ -141,25 +149,69 @@ public class GSYRenderView {
* @param high 是否需要高清的
*/
public
void
saveFrame
(
final
File
file
,
final
boolean
high
,
final
GSYVideoShotSaveListener
gsyVideoShotSaveListener
)
{
mShowView
.
saveFrame
(
file
,
high
,
gsyVideoShotSaveListener
);
if
(
mShowView
!=
null
)
mShowView
.
saveFrame
(
file
,
high
,
gsyVideoShotSaveListener
);
}
/**
* 主要针对GL
*/
public
void
onResume
()
{
mShowView
.
onRenderResume
();
if
(
mShowView
!=
null
)
mShowView
.
onRenderResume
();
}
/**
* 主要针对GL
*/
public
void
onPause
()
{
mShowView
.
onRenderPause
();
if
(
mShowView
!=
null
)
mShowView
.
onRenderPause
();
}
/**
* 主要针对GL
*/
public
void
releaseAll
()
{
mShowView
.
releaseRenderAll
();
if
(
mShowView
!=
null
)
mShowView
.
releaseRenderAll
();
}
/**
* 主要针对GL
*/
public
void
setGLRenderMode
(
int
mode
)
{
mShowView
.
setRenderMode
(
mode
);
if
(
mShowView
!=
null
)
mShowView
.
setRenderMode
(
mode
);
}
/**
* 自定义GL的渲染render
*/
public
void
setGLRenderer
(
GSYVideoGLViewBaseRender
renderer
)
{
if
(
mShowView
!=
null
)
mShowView
.
setGLRenderer
(
renderer
);
}
/**
* GL模式下的画面matrix效果
*
* @param matrixGL 16位长度
*/
public
void
setMatrixGL
(
float
[]
matrixGL
)
{
if
(
mShowView
!=
null
)
mShowView
.
setGLMVPMatrix
(
matrixGL
);
}
/**
* 设置滤镜效果
*/
public
void
setEffectFilter
(
GSYVideoGLView
.
ShaderInterface
effectFilter
)
{
if
(
mShowView
!=
null
)
mShowView
.
setGLEffectFilter
(
effectFilter
);
}
/*************************ShowView function end *************************/
...
...
gsyVideoPlayer-java/src/main/java/com/shuyu/gsyvideoplayer/render/view/GSYSurfaceView.java
浏览文件 @
3ddccbee
...
...
@@ -12,7 +12,9 @@ import android.view.ViewGroup;
import
com.shuyu.gsyvideoplayer.listener.GSYVideoShotListener
;
import
com.shuyu.gsyvideoplayer.listener.GSYVideoShotSaveListener
;
import
com.shuyu.gsyvideoplayer.render.GSYRenderView
;
import
com.shuyu.gsyvideoplayer.render.glrender.GSYVideoGLViewBaseRender
;
import
com.shuyu.gsyvideoplayer.render.view.listener.IGSYSurfaceListener
;
import
com.shuyu.gsyvideoplayer.utils.Debuger
;
import
com.shuyu.gsyvideoplayer.utils.MeasureHelper
;
import
java.io.File
;
...
...
@@ -97,11 +99,13 @@ public class GSYSurfaceView extends SurfaceView implements SurfaceHolder.Callbac
@Override
public
Bitmap
initCover
()
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support initCover now"
);
return
null
;
}
@Override
public
Bitmap
initCoverHigh
()
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support initCoverHigh now"
);
return
null
;
}
...
...
@@ -111,7 +115,7 @@ public class GSYSurfaceView extends SurfaceView implements SurfaceHolder.Callbac
* @param shotHigh 是否需要高清的
*/
public
void
taskShotPic
(
GSYVideoShotListener
gsyVideoShotListener
,
boolean
shotHigh
)
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support taskShotPic now"
);
}
/**
...
...
@@ -120,7 +124,7 @@ public class GSYSurfaceView extends SurfaceView implements SurfaceHolder.Callbac
* @param high 是否需要高清的
*/
public
void
saveFrame
(
final
File
file
,
final
boolean
high
,
final
GSYVideoShotSaveListener
gsyVideoShotSaveListener
)
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support saveFrame now"
);
}
@Override
...
...
@@ -130,30 +134,49 @@ public class GSYSurfaceView extends SurfaceView implements SurfaceHolder.Callbac
@Override
public
void
onRenderResume
()
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support onRenderResume now"
);
}
@Override
public
void
onRenderPause
()
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support onRenderPause now"
);
}
@Override
public
void
releaseRenderAll
()
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support releaseRenderAll now"
);
}
@Override
public
void
setRenderMode
(
int
mode
)
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support setRenderMode now"
);
}
@Override
public
void
setRenderTransform
(
Matrix
transform
){
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support setRenderTransform now"
);
}
@Override
public
void
setGLRenderer
(
GSYVideoGLViewBaseRender
renderer
)
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support setGLRenderer now"
);
}
@Override
public
void
setGLMVPMatrix
(
float
[]
MVPMatrix
)
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support setGLMVPMatrix now"
);
}
/**
* 设置滤镜效果
*/
@Override
public
void
setGLEffectFilter
(
GSYVideoGLView
.
ShaderInterface
effectFilter
)
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support setGLEffectFilter now"
);
}
/**
* 添加播放的view
*/
...
...
gsyVideoPlayer-java/src/main/java/com/shuyu/gsyvideoplayer/render/view/GSYTextureView.java
浏览文件 @
3ddccbee
...
...
@@ -13,7 +13,9 @@ import android.view.ViewGroup;
import
com.shuyu.gsyvideoplayer.listener.GSYVideoShotListener
;
import
com.shuyu.gsyvideoplayer.listener.GSYVideoShotSaveListener
;
import
com.shuyu.gsyvideoplayer.render.GSYRenderView
;
import
com.shuyu.gsyvideoplayer.render.glrender.GSYVideoGLViewBaseRender
;
import
com.shuyu.gsyvideoplayer.render.view.listener.IGSYSurfaceListener
;
import
com.shuyu.gsyvideoplayer.utils.Debuger
;
import
com.shuyu.gsyvideoplayer.utils.FileUtils
;
import
com.shuyu.gsyvideoplayer.utils.MeasureHelper
;
...
...
@@ -176,22 +178,22 @@ public class GSYTextureView extends TextureView implements TextureView.SurfaceTe
@Override
public
void
onRenderResume
()
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support onRenderResume now"
);
}
@Override
public
void
onRenderPause
()
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support onRenderPause now"
);
}
@Override
public
void
releaseRenderAll
()
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support releaseRenderAll now"
);
}
@Override
public
void
setRenderMode
(
int
mode
)
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support setRenderMode now"
);
}
@Override
...
...
@@ -199,6 +201,24 @@ public class GSYTextureView extends TextureView implements TextureView.SurfaceTe
setTransform
(
transform
);
}
@Override
public
void
setGLRenderer
(
GSYVideoGLViewBaseRender
renderer
)
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support setGLRenderer now"
);
}
@Override
public
void
setGLMVPMatrix
(
float
[]
MVPMatrix
)
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support setGLMVPMatrix now"
);
}
/**
* 设置滤镜效果
*/
@Override
public
void
setGLEffectFilter
(
GSYVideoGLView
.
ShaderInterface
effectFilter
)
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support setGLEffectFilter now"
);
}
/**
* 添加播放的view
*/
...
...
gsyVideoPlayer-java/src/main/java/com/shuyu/gsyvideoplayer/render/view/GSYVideoGLView.java
浏览文件 @
3ddccbee
...
...
@@ -19,6 +19,7 @@ import com.shuyu.gsyvideoplayer.render.glrender.GSYVideoGLViewBaseRender;
import
com.shuyu.gsyvideoplayer.render.glrender.GSYVideoGLViewSimpleRender
;
import
com.shuyu.gsyvideoplayer.render.view.listener.GLSurfaceListener
;
import
com.shuyu.gsyvideoplayer.render.view.listener.IGSYSurfaceListener
;
import
com.shuyu.gsyvideoplayer.utils.Debuger
;
import
com.shuyu.gsyvideoplayer.utils.FileUtils
;
import
com.shuyu.gsyvideoplayer.utils.MeasureHelper
;
import
com.shuyu.gsyvideoplayer.render.effect.NoEffect
;
...
...
@@ -130,6 +131,108 @@ public class GSYVideoGLView extends GLSurfaceView implements GLSurfaceListener,
return
measureHelper
.
getMeasuredWidth
();
}
@Override
public
Bitmap
initCover
()
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support initCover now"
);
return
null
;
}
@Override
public
Bitmap
initCoverHigh
()
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support initCoverHigh now"
);
return
null
;
}
/**
* 获取截图
*
* @param shotHigh 是否需要高清的
*/
@Override
public
void
taskShotPic
(
GSYVideoShotListener
gsyVideoShotListener
,
boolean
shotHigh
)
{
if
(
gsyVideoShotListener
!=
null
)
{
setGSYVideoShotListener
(
gsyVideoShotListener
,
shotHigh
);
takeShotPic
();
}
}
/**
* 保存截图
*
* @param high 是否需要高清的
*/
@Override
public
void
saveFrame
(
final
File
file
,
final
boolean
high
,
final
GSYVideoShotSaveListener
gsyVideoShotSaveListener
)
{
GSYVideoShotListener
gsyVideoShotListener
=
new
GSYVideoShotListener
()
{
@Override
public
void
getBitmap
(
Bitmap
bitmap
)
{
if
(
bitmap
==
null
)
{
gsyVideoShotSaveListener
.
result
(
false
,
file
);
}
else
{
FileUtils
.
saveBitmap
(
bitmap
,
file
);
gsyVideoShotSaveListener
.
result
(
true
,
file
);
}
}
};
setGSYVideoShotListener
(
gsyVideoShotListener
,
high
);
takeShotPic
();
}
@Override
public
View
getRenderView
()
{
return
this
;
}
@Override
public
void
onRenderResume
()
{
requestLayout
();
onResume
();
}
@Override
public
void
onRenderPause
()
{
requestLayout
();
onPause
();
}
@Override
public
void
releaseRenderAll
()
{
requestLayout
();
releaseAll
();
}
@Override
public
void
setRenderMode
(
int
mode
)
{
setMode
(
mode
);
}
@Override
public
void
setRenderTransform
(
Matrix
transform
)
{
Debuger
.
printfLog
(
getClass
().
getSimpleName
()
+
" not support setRenderTransform now"
);
}
@Override
public
void
setGLRenderer
(
GSYVideoGLViewBaseRender
renderer
)
{
setCustomRenderer
(
renderer
);
}
@Override
public
void
setGLMVPMatrix
(
float
[]
MVPMatrix
)
{
setMVPMatrix
(
MVPMatrix
);
}
/**
* 设置滤镜效果
*/
@Override
public
void
setGLEffectFilter
(
GSYVideoGLView
.
ShaderInterface
effectFilter
)
{
setEffect
(
effectFilter
);
}
protected
void
initRenderMeasure
()
{
if
(
GSYVideoManager
.
instance
().
getMediaPlayer
()
!=
null
&&
mMode
==
MODE_RENDER_SIZE
)
{
...
...
@@ -215,7 +318,6 @@ public class GSYVideoGLView extends GLSurfaceView implements GLSurfaceListener,
}
}
public
GSYVideoGLViewBaseRender
getRenderer
()
{
return
mRenderer
;
}
...
...
@@ -228,96 +330,13 @@ public class GSYVideoGLView extends GLSurfaceView implements GLSurfaceListener,
return
mMVPMatrix
;
}
@Override
public
Bitmap
initCover
()
{
return
null
;
}
@Override
public
Bitmap
initCoverHigh
()
{
return
null
;
}
/**
* 获取截图
*
* @param shotHigh 是否需要高清的
*/
public
void
taskShotPic
(
GSYVideoShotListener
gsyVideoShotListener
,
boolean
shotHigh
)
{
if
(
gsyVideoShotListener
!=
null
)
{
setGSYVideoShotListener
(
gsyVideoShotListener
,
shotHigh
);
takeShotPic
();
}
}
/**
* 保存截图
*
* @param high 是否需要高清的
*/
public
void
saveFrame
(
final
File
file
,
final
boolean
high
,
final
GSYVideoShotSaveListener
gsyVideoShotSaveListener
)
{
GSYVideoShotListener
gsyVideoShotListener
=
new
GSYVideoShotListener
()
{
@Override
public
void
getBitmap
(
Bitmap
bitmap
)
{
if
(
bitmap
==
null
)
{
gsyVideoShotSaveListener
.
result
(
false
,
file
);
}
else
{
FileUtils
.
saveBitmap
(
bitmap
,
file
);
gsyVideoShotSaveListener
.
result
(
true
,
file
);
}
}
};
setGSYVideoShotListener
(
gsyVideoShotListener
,
high
);
takeShotPic
();
}
@Override
public
View
getRenderView
()
{
return
this
;
}
@Override
public
void
onRenderResume
()
{
requestLayout
();
onResume
();
}
@Override
public
void
onRenderPause
()
{
requestLayout
();
onPause
();
}
@Override
public
void
releaseRenderAll
()
{
requestLayout
();
releaseAll
();
}
@Override
public
void
setRenderMode
(
int
mode
)
{
setMode
(
mode
);
}
@Override
public
void
setRenderTransform
(
Matrix
transform
)
{
}
/**
* 添加播放的view
*/
public
static
GSYVideoGLView
addGLView
(
final
Context
context
,
final
ViewGroup
textureViewContainer
,
final
int
rotate
,
final
IGSYSurfaceListener
gsySurfaceListener
,
final
GSYVideoGLView
.
ShaderInterface
effect
,
final
float
[]
transform
,
final
GSYVideoGLViewBaseRender
customRender
)
{
final
GSYVideoGLViewBaseRender
customRender
,
final
int
renderMode
)
{
if
(
textureViewContainer
.
getChildCount
()
>
0
)
{
textureViewContainer
.
removeAllViews
();
}
...
...
@@ -326,6 +345,7 @@ public class GSYVideoGLView extends GLSurfaceView implements GLSurfaceListener,
gsyVideoGLView
.
setCustomRenderer
(
customRender
);
}
gsyVideoGLView
.
setEffect
(
effect
);
gsyVideoGLView
.
setRenderMode
(
renderMode
);
gsyVideoGLView
.
setIGSYSurfaceListener
(
gsySurfaceListener
);
gsyVideoGLView
.
setRotation
(
rotate
);
gsyVideoGLView
.
initRender
();
...
...
@@ -339,7 +359,7 @@ public class GSYVideoGLView extends GLSurfaceView implements GLSurfaceListener,
gsySurfaceListener
,
render
.
getEffect
(),
render
.
getMVPMatrix
(),
render
);
render
,
renderMode
);
}
});
...
...
gsyVideoPlayer-java/src/main/java/com/shuyu/gsyvideoplayer/render/view/IGSYRenderView.java
浏览文件 @
3ddccbee
...
...
@@ -3,11 +3,11 @@ package com.shuyu.gsyvideoplayer.render.view;
import
android.graphics.Bitmap
;
import
android.graphics.Matrix
;
import
android.view.TextureView
;
import
android.view.View
;
import
com.shuyu.gsyvideoplayer.listener.GSYVideoShotListener
;
import
com.shuyu.gsyvideoplayer.listener.GSYVideoShotSaveListener
;
import
com.shuyu.gsyvideoplayer.render.glrender.GSYVideoGLViewBaseRender
;
import
com.shuyu.gsyvideoplayer.render.view.listener.IGSYSurfaceListener
;
import
java.io.File
;
...
...
@@ -46,4 +46,10 @@ public interface IGSYRenderView {
void
setRenderTransform
(
Matrix
transform
);
void
setGLRenderer
(
GSYVideoGLViewBaseRender
renderer
);
void
setGLMVPMatrix
(
float
[]
MVPMatrix
);
void
setGLEffectFilter
(
GSYVideoGLView
.
ShaderInterface
effectFilter
);
}
gsyVideoPlayer-java/src/main/java/com/shuyu/gsyvideoplayer/video/base/GSYTextureRenderView.java
浏览文件 @
3ddccbee
...
...
@@ -10,6 +10,7 @@ import android.view.Surface;
import
android.view.TextureView
;
import
android.view.ViewGroup
;
import
android.widget.FrameLayout
;
import
com.shuyu.gsyvideoplayer.render.GSYRenderView
;
import
com.shuyu.gsyvideoplayer.render.view.GSYVideoGLView
;
import
com.shuyu.gsyvideoplayer.render.effect.NoEffect
;
...
...
@@ -36,17 +37,19 @@ public abstract class GSYTextureRenderView extends FrameLayout implements IGSYSu
//满屏填充暂停为徒
protected
Bitmap
mFullPauseBitmap
;
//滤镜
//
GL的
滤镜
protected
GSYVideoGLView
.
ShaderInterface
mEffectFilter
=
new
NoEffect
();
//GL的自定义渲染
protected
GSYVideoGLViewBaseRender
mRenderer
;
//GL的角度
protected
float
[]
mMatrixGL
=
null
;
//画面选择角度
protected
int
mRotate
;
//自定义渲染
protected
GSYVideoGLViewBaseRender
mRenderer
;
//GL的布局模式
protected
int
mMode
=
GSYVideoGLView
.
MODE_LAYOUT_SIZE
;
public
GSYTextureRenderView
(
@NonNull
Context
context
)
{
...
...
@@ -150,33 +153,8 @@ public abstract class GSYTextureRenderView extends FrameLayout implements IGSYSu
mTextureViewContainer
.
setOnTouchListener
(
onTouchListener
);
mTextureViewContainer
.
setOnClickListener
(
null
);
setSmallVideoTextureView
();
}
protected
GSYVideoGLView
getGSYVideoGLSView
()
{
if
(
mTextureView
!=
null
&&
mTextureView
.
getShowView
()
instanceof
GSYVideoGLView
)
{
return
(
GSYVideoGLView
)
mTextureView
.
getShowView
();
}
return
null
;
}
//暂停时使用绘制画面显示暂停、避免黑屏
protected
abstract
void
showPauseCover
();
//清除暂停画面
protected
abstract
void
releasePauseCover
();
//小屏幕绘制层
protected
abstract
void
setSmallVideoTextureView
();
//设置播放
protected
abstract
void
setDisplay
(
Surface
surface
);
//释放
protected
abstract
void
releaseSurface
(
Surface
surface
);
public
GSYVideoGLView
.
ShaderInterface
getEffectFilter
()
{
return
mEffectFilter
;
}
...
...
@@ -193,10 +171,8 @@ public abstract class GSYTextureRenderView extends FrameLayout implements IGSYSu
*/
public
void
setEffectFilter
(
GSYVideoGLView
.
ShaderInterface
effectFilter
)
{
this
.
mEffectFilter
=
effectFilter
;
if
(
mTextureView
!=
null
&&
mTextureView
.
getShowView
()
instanceof
GSYVideoGLView
)
{
GSYVideoGLView
gsyVideoGLView
=
(
GSYVideoGLView
)
mTextureView
.
getShowView
();
gsyVideoGLView
.
setEffect
(
effectFilter
);
if
(
mTextureView
!=
null
)
{
mTextureView
.
setEffectFilter
(
effectFilter
);
}
}
...
...
@@ -207,11 +183,8 @@ public abstract class GSYTextureRenderView extends FrameLayout implements IGSYSu
*/
public
void
setMatrixGL
(
float
[]
matrixGL
)
{
this
.
mMatrixGL
=
matrixGL
;
if
(
mTextureView
!=
null
&&
mTextureView
.
getShowView
()
instanceof
GSYVideoGLView
&&
mMatrixGL
!=
null
&&
mMatrixGL
.
length
==
16
)
{
GSYVideoGLView
gsyVideoGLView
=
(
GSYVideoGLView
)
mTextureView
.
getShowView
();
gsyVideoGLView
.
setMVPMatrix
(
mMatrixGL
);
if
(
mTextureView
!=
null
)
{
mTextureView
.
setMatrixGL
(
mMatrixGL
);
}
}
...
...
@@ -220,11 +193,8 @@ public abstract class GSYTextureRenderView extends FrameLayout implements IGSYSu
*/
public
void
setCustomGLRenderer
(
GSYVideoGLViewBaseRender
renderer
)
{
this
.
mRenderer
=
renderer
;
if
(
mTextureView
!=
null
&&
mRenderer
!=
null
&&
mTextureView
.
getShowView
()
instanceof
GSYVideoGLView
)
{
GSYVideoGLView
gsyVideoGLView
=
(
GSYVideoGLView
)
mTextureView
.
getShowView
();
gsyVideoGLView
.
setCustomRenderer
(
mRenderer
);
if
(
mTextureView
!=
null
)
{
mTextureView
.
setGLRenderer
(
renderer
);
}
}
...
...
@@ -235,11 +205,24 @@ public abstract class GSYTextureRenderView extends FrameLayout implements IGSYSu
*/
public
void
setGLRenderMode
(
int
mode
)
{
mMode
=
mode
;
if
(
mTextureView
!=
null
&&
mRenderer
!=
null
&&
mTextureView
.
getShowView
()
instanceof
GSYVideoGLView
)
{
GSYVideoGLView
gsyVideoGLView
=
(
GSYVideoGLView
)
mTextureView
.
getShowView
();
gsyVideoGLView
.
setMode
(
mode
);
if
(
mTextureView
!=
null
)
{
mTextureView
.
setGLRenderMode
(
mode
);
}
}
//暂停时使用绘制画面显示暂停、避免黑屏
protected
abstract
void
showPauseCover
();
//清除暂停画面
protected
abstract
void
releasePauseCover
();
//小屏幕绘制层
protected
abstract
void
setSmallVideoTextureView
();
//设置播放
protected
abstract
void
setDisplay
(
Surface
surface
);
//释放
protected
abstract
void
releaseSurface
(
Surface
surface
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录