Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
NotesChapter
GSYVideoPlayer
提交
4a3b9bec
G
GSYVideoPlayer
项目概览
NotesChapter
/
GSYVideoPlayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
8
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,体验更适合开发者的 AI 搜索 >>
提交
4a3b9bec
编写于
7月 04, 2017
作者:
S
shuyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改setup的设置参数 (2017-07-04)
上级
a9b56917
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
72 addition
and
232 deletion
+72
-232
app/src/main/java/com/example/gsyvideoplayer/DetailListPlayer.java
...ain/java/com/example/gsyvideoplayer/DetailListPlayer.java
+1
-1
app/src/main/java/com/example/gsyvideoplayer/SampleExtendsPlayer.java
.../java/com/example/gsyvideoplayer/SampleExtendsPlayer.java
+0
-157
app/src/main/java/com/example/gsyvideoplayer/adapter/ListVideoAdapter.java
.../com/example/gsyvideoplayer/adapter/ListVideoAdapter.java
+1
-2
app/src/main/java/com/example/gsyvideoplayer/holder/RecyclerItemViewHolder.java
...example/gsyvideoplayer/holder/RecyclerItemViewHolder.java
+1
-2
app/src/main/java/com/example/gsyvideoplayer/video/SampleVideo.java
...in/java/com/example/gsyvideoplayer/video/SampleVideo.java
+8
-8
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java
...rc/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java
+25
-25
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/utils/ListVideoUtil.java
...in/java/com/shuyu/gsyvideoplayer/utils/ListVideoUtil.java
+9
-8
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java
...va/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java
+11
-11
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/ListGSYVideoPlayer.java
...va/com/shuyu/gsyvideoplayer/video/ListGSYVideoPlayer.java
+5
-7
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/StandardGSYVideoPlayer.java
...om/shuyu/gsyvideoplayer/video/StandardGSYVideoPlayer.java
+11
-11
未找到文件。
app/src/main/java/com/example/gsyvideoplayer/DetailListPlayer.java
浏览文件 @
4a3b9bec
...
...
@@ -56,7 +56,7 @@ public class DetailListPlayer extends AppCompatActivity {
urls
.
add
(
new
GSYVideoModel
(
"http://9890.vod.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4"
,
"标题2"
));
urls
.
add
(
new
GSYVideoModel
(
"http://baobab.wdjcdn.com/14564977406580.mp4"
,
"标题3"
));
urls
.
add
(
new
GSYVideoModel
(
"http://9890.vod.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4"
,
"标题4"
));
detailPlayer
.
setUp
(
urls
,
true
,
0
,
""
);
detailPlayer
.
setUp
(
urls
,
true
,
0
);
//增加封面
ImageView
imageView
=
new
ImageView
(
this
);
...
...
app/src/main/java/com/example/gsyvideoplayer/SampleExtendsPlayer.java
已删除
100644 → 0
浏览文件 @
a9b56917
package
com.example.gsyvideoplayer
;
import
android.content.Context
;
import
android.util.AttributeSet
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
com.shuyu.gsyvideoplayer.GSYVideoPlayer
;
/**
* Created by shuyu on 2016/11/18.
* 还是建议继承StandardGSYVideoPlayer
*/
public
class
SampleExtendsPlayer
extends
GSYVideoPlayer
{
public
SampleExtendsPlayer
(
Context
context
)
{
super
(
context
);
}
public
SampleExtendsPlayer
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
}
/**
* 必须继承,你可以随意布局,但是id必须一致,还有不能少了哟
*/
@Override
public
int
getLayoutId
()
{
//// TODO: 2016/11/18 返回你的布局
return
R
.
layout
.
video_layout_standard
;
}
/**
* 必须继承,根据你的状态实现不同的逻辑效果
*/
@Override
protected
void
setStateAndUi
(
int
state
)
{
super
.
setStateAndUi
(
state
);
switch
(
mCurrentState
)
{
case
CURRENT_STATE_NORMAL:
//播放UI初始化
break
;
case
CURRENT_STATE_PREPAREING:
//播放loading
break
;
case
CURRENT_STATE_PLAYING:
//播放ing
break
;
case
CURRENT_STATE_PAUSE:
//播放暂停
break
;
case
CURRENT_STATE_ERROR:
//播放错误
break
;
case
CURRENT_STATE_AUTO_COMPLETE:
//播放完成
break
;
case
CURRENT_STATE_PLAYING_BUFFERING_START:
//buffering
break
;
}
}
/**
* 继承后可以实现你自定义的UI配置
*/
@Override
protected
void
init
(
Context
context
)
{
super
.
init
(
context
);
//// TODO: 2016/11/18 你自定义的UI配置
}
/**
* 继承后可以实现你自定义的UI
*/
@Override
public
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
Object
...
objects
)
{
super
.
setUp
(
url
,
cacheWithPlay
,
objects
);
//// TODO: 2016/11/18 你自定义的设置播放属性播放时候的UI配置
return
false
;
}
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
//// TODO: 2016/11/18 补充你的触摸逻辑 ,比如你在这一页自定义的哪些UI
return
super
.
onTouch
(
v
,
event
);
}
@Override
public
void
onClick
(
View
v
)
{
super
.
onClick
(
v
);
//// TODO: 2016/11/18 补充你的点击逻辑 ,比如你在这一页自定义的哪些UI
}
@Override
public
void
showWifiDialog
()
{
super
.
showWifiDialog
();
//// TODO: 2016/11/18 wifi状态的显示逻辑
}
@Override
public
void
startPlayLogic
()
{
//如果继承stand播放器的话要记得super
//super.startPlayLogic();
//// TODO: 2016/11/18 播放开始的逻辑
}
@Override
protected
void
setProgressAndTime
(
int
progress
,
int
secProgress
,
int
currentTime
,
int
totalTime
)
{
super
.
setProgressAndTime
(
progress
,
secProgress
,
currentTime
,
totalTime
);
//// TODO: 2016/11/18 播放进度
}
@Override
protected
void
resetProgressAndTime
()
{
super
.
resetProgressAndTime
();
//// TODO: 2016/11/18 播放进度重置
}
@Override
protected
void
showProgressDialog
(
float
deltaX
,
String
seekTime
,
int
seekTimePosition
,
String
totalTime
,
int
totalTimeDuration
)
{
super
.
showProgressDialog
(
deltaX
,
seekTime
,
seekTimePosition
,
totalTime
,
totalTimeDuration
);
//// TODO: 2016/11/18 显示快进dialog
}
@Override
protected
void
dismissProgressDialog
()
{
super
.
dismissProgressDialog
();
//// TODO: 2016/11/18 关闭快进dialog
}
@Override
protected
void
showVolumeDialog
(
float
deltaY
,
int
volumePercent
)
{
super
.
showVolumeDialog
(
deltaY
,
volumePercent
);
//// TODO: 2016/11/18 显示声音选择
}
@Override
protected
void
dismissVolumeDialog
()
{
super
.
dismissVolumeDialog
();
//// TODO: 2016/11/18 关闭声音选择
}
@Override
protected
void
showBrightnessDialog
(
float
percent
)
{
super
.
showBrightnessDialog
(
percent
);
//// TODO: 2016/11/18 显示亮度选择
}
@Override
protected
void
dismissBrightnessDialog
()
{
super
.
dismissVolumeDialog
();
//// TODO: 2016/11/18 关闭亮度选择
}
@Override
public
void
onBackFullscreen
()
{
//// TODO: 2016/11/18 退出全屏逻辑
}
}
app/src/main/java/com/example/gsyvideoplayer/adapter/ListVideoAdapter.java
浏览文件 @
4a3b9bec
...
...
@@ -82,7 +82,6 @@ public class ListVideoAdapter extends BaseAdapter {
//增加封面
holder
.
imageView
.
setScaleType
(
ImageView
.
ScaleType
.
CENTER_CROP
);
holder
.
imageView
.
setImageResource
(
R
.
mipmap
.
xxx1
);
final
Object
[]
objects
=
{
"title "
+
position
};
listVideoUtil
.
addVideoPlayer
(
position
,
holder
.
imageView
,
TAG
,
holder
.
videoContainer
,
holder
.
playerBtn
);
holder
.
playerBtn
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
...
...
@@ -91,7 +90,7 @@ public class ListVideoAdapter extends BaseAdapter {
//listVideoUtil.setLoop(true);
listVideoUtil
.
setPlayPositionAndTag
(
position
,
TAG
);
final
String
url
=
"http://baobab.wdjcdn.com/14564977406580.mp4"
;
listVideoUtil
.
set
Objects
(
objects
);
listVideoUtil
.
set
Title
(
"title "
+
position
);
//listVideoUtil.setCachePath(new File(FileUtils.getPath()));
listVideoUtil
.
startPlay
(
url
);
...
...
app/src/main/java/com/example/gsyvideoplayer/holder/RecyclerItemViewHolder.java
浏览文件 @
4a3b9bec
...
...
@@ -43,14 +43,13 @@ public class RecyclerItemViewHolder extends RecyclerItemBaseHolder {
listVideoUtil
.
addVideoPlayer
(
position
,
imageView
,
TAG
,
listItemContainer
,
listItemBtn
);
final
Object
[]
objects
=
{
"title "
+
position
};
listItemBtn
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
getRecyclerBaseAdapter
().
notifyDataSetChanged
();
//listVideoUtil.setLoop(true);
listVideoUtil
.
setPlayPositionAndTag
(
position
,
TAG
);
listVideoUtil
.
set
Objects
(
objects
);
listVideoUtil
.
set
Title
(
"title "
+
position
);
final
String
url
=
"http://baobab.wdjcdn.com/14564977406580.mp4"
;
//listVideoUtil.setCachePath(new File(FileUtils.getPath()));
listVideoUtil
.
startPlay
(
url
);
...
...
app/src/main/java/com/example/gsyvideoplayer/video/SampleVideo.java
浏览文件 @
4a3b9bec
...
...
@@ -203,12 +203,12 @@ public class SampleVideo extends StandardGSYVideoPlayer {
*
* @param url 播放url
* @param cacheWithPlay 是否边播边缓存
* @param
objects object[0]目前为
title
* @param
title
title
* @return
*/
public
boolean
setUp
(
List
<
SwitchVideoModel
>
url
,
boolean
cacheWithPlay
,
Object
...
objects
)
{
public
boolean
setUp
(
List
<
SwitchVideoModel
>
url
,
boolean
cacheWithPlay
,
String
title
)
{
mUrlList
=
url
;
return
setUp
(
url
.
get
(
mSourcePosition
).
getUrl
(),
cacheWithPlay
,
objects
);
return
setUp
(
url
.
get
(
mSourcePosition
).
getUrl
(),
cacheWithPlay
,
title
);
}
/**
...
...
@@ -217,12 +217,12 @@ public class SampleVideo extends StandardGSYVideoPlayer {
* @param url 播放url
* @param cacheWithPlay 是否边播边缓存
* @param cachePath 缓存路径,如果是M3U8或者HLS,请设置为false
* @param
objects object[0]目前为
title
* @param
title
title
* @return
*/
public
boolean
setUp
(
List
<
SwitchVideoModel
>
url
,
boolean
cacheWithPlay
,
File
cachePath
,
Object
...
objects
)
{
public
boolean
setUp
(
List
<
SwitchVideoModel
>
url
,
boolean
cacheWithPlay
,
File
cachePath
,
String
title
)
{
mUrlList
=
url
;
return
setUp
(
url
.
get
(
mSourcePosition
).
getUrl
(),
cacheWithPlay
,
cachePath
,
objects
);
return
setUp
(
url
.
get
(
mSourcePosition
).
getUrl
(),
cacheWithPlay
,
cachePath
,
title
);
}
@Override
...
...
@@ -270,7 +270,7 @@ public class SampleVideo extends StandardGSYVideoPlayer {
mSourcePosition
=
sampleVideo
.
mSourcePosition
;
mType
=
sampleVideo
.
mType
;
mTransformSize
=
sampleVideo
.
mTransformSize
;
setUp
(
mUrlList
,
mCache
,
mCachePath
,
m
Objects
);
setUp
(
mUrlList
,
mCache
,
mCachePath
,
m
Title
);
resolveTypeUI
();
}
}
...
...
@@ -359,7 +359,7 @@ public class SampleVideo extends StandardGSYVideoPlayer {
new
Handler
().
postDelayed
(
new
Runnable
()
{
@Override
public
void
run
()
{
setUp
(
url
,
mCache
,
mCachePath
,
m
Objects
);
setUp
(
url
,
mCache
,
mCachePath
,
m
Title
);
setSeekOnStart
(
currentPosition
);
startPlayLogic
();
cancelProgressTimer
();
...
...
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java
浏览文件 @
4a3b9bec
...
...
@@ -217,11 +217,11 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
*
* @param url 播放url
* @param cacheWithPlay 是否边播边缓存
* @param
objects object[0]目前为
title
* @param
title
title
* @return
*/
public
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
Object
...
objects
)
{
return
setUp
(
url
,
cacheWithPlay
,
((
File
)
null
),
objects
);
public
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
String
title
)
{
return
setUp
(
url
,
cacheWithPlay
,
((
File
)
null
),
title
);
}
...
...
@@ -232,12 +232,12 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
* @param cacheWithPlay 是否边播边缓存
* @param cachePath 缓存路径,如果是M3U8或者HLS,请设置为false
* @param mapHeadData 头部信息
* @param
objects object[0]目前为
title
* @param
title
title
* @return
*/
@Override
public
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
File
cachePath
,
Map
<
String
,
String
>
mapHeadData
,
Object
...
objects
)
{
if
(
setUp
(
url
,
cacheWithPlay
,
cachePath
,
objects
))
{
public
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
File
cachePath
,
Map
<
String
,
String
>
mapHeadData
,
String
title
)
{
if
(
setUp
(
url
,
cacheWithPlay
,
cachePath
,
title
))
{
this
.
mMapHeadData
.
clear
();
if
(
mapHeadData
!=
null
)
this
.
mMapHeadData
.
putAll
(
mapHeadData
);
...
...
@@ -252,11 +252,11 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
* @param url 播放url
* @param cacheWithPlay 是否边播边缓存
* @param cachePath 缓存路径,如果是M3U8或者HLS,请设置为false
* @param
objects object[0]目前为
title
* @param
title
title
* @return
*/
@Override
public
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
File
cachePath
,
Object
...
objects
)
{
public
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
File
cachePath
,
String
title
)
{
mCache
=
cacheWithPlay
;
mCachePath
=
cachePath
;
mOriginUrl
=
url
;
...
...
@@ -278,7 +278,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
mCacheFile
=
true
;
}
this
.
mUrl
=
url
;
this
.
m
Objects
=
objects
;
this
.
m
Title
=
title
;
setStateAndUi
(
CURRENT_STATE_NORMAL
);
return
true
;
}
...
...
@@ -349,20 +349,20 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
if
(
mVideoAllCallBack
!=
null
&&
isCurrentMediaListener
())
{
if
(
mIfCurrentIsFullscreen
)
{
Debuger
.
printfLog
(
"onClickStopFullscreen"
);
mVideoAllCallBack
.
onClickStopFullscreen
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onClickStopFullscreen
(
mUrl
,
m
Title
);
}
else
{
Debuger
.
printfLog
(
"onClickStop"
);
mVideoAllCallBack
.
onClickStop
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onClickStop
(
mUrl
,
m
Title
);
}
}
}
else
if
(
mCurrentState
==
CURRENT_STATE_PAUSE
)
{
if
(
mVideoAllCallBack
!=
null
&&
isCurrentMediaListener
())
{
if
(
mIfCurrentIsFullscreen
)
{
Debuger
.
printfLog
(
"onClickResumeFullscreen"
);
mVideoAllCallBack
.
onClickResumeFullscreen
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onClickResumeFullscreen
(
mUrl
,
m
Title
);
}
else
{
Debuger
.
printfLog
(
"onClickResume"
);
mVideoAllCallBack
.
onClickResume
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onClickResume
(
mUrl
,
m
Title
);
}
}
GSYVideoManager
.
instance
().
getMediaPlayer
().
start
();
...
...
@@ -373,7 +373,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
}
else
if
(
i
==
R
.
id
.
surface_container
&&
mCurrentState
==
CURRENT_STATE_ERROR
)
{
if
(
mVideoAllCallBack
!=
null
)
{
Debuger
.
printfLog
(
"onClickStartError"
);
mVideoAllCallBack
.
onClickStartError
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onClickStartError
(
mUrl
,
m
Title
);
}
prepareVideo
();
}
...
...
@@ -388,10 +388,10 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
private
void
startButtonLogic
()
{
if
(
mVideoAllCallBack
!=
null
&&
mCurrentState
==
CURRENT_STATE_NORMAL
)
{
Debuger
.
printfLog
(
"onClickStartIcon"
);
mVideoAllCallBack
.
onClickStartIcon
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onClickStartIcon
(
mUrl
,
m
Title
);
}
else
if
(
mVideoAllCallBack
!=
null
)
{
Debuger
.
printfLog
(
"onClickStartError"
);
mVideoAllCallBack
.
onClickStartError
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onClickStartError
(
mUrl
,
m
Title
);
}
prepareVideo
();
}
...
...
@@ -664,17 +664,17 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
mProgressBar
.
setProgress
(
progress
);
if
(
mVideoAllCallBack
!=
null
&&
isCurrentMediaListener
())
{
Debuger
.
printfLog
(
"onTouchScreenSeekPosition"
);
mVideoAllCallBack
.
onTouchScreenSeekPosition
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onTouchScreenSeekPosition
(
mUrl
,
m
Title
);
}
}
else
if
(
mBrightness
)
{
if
(
mVideoAllCallBack
!=
null
&&
isCurrentMediaListener
())
{
Debuger
.
printfLog
(
"onTouchScreenSeekLight"
);
mVideoAllCallBack
.
onTouchScreenSeekLight
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onTouchScreenSeekLight
(
mUrl
,
m
Title
);
}
}
else
if
(
mChangeVolume
)
{
if
(
mVideoAllCallBack
!=
null
&&
isCurrentMediaListener
())
{
Debuger
.
printfLog
(
"onTouchScreenSeekVolume"
);
mVideoAllCallBack
.
onTouchScreenSeekVolume
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onTouchScreenSeekVolume
(
mUrl
,
m
Title
);
}
}
startProgressTimer
();
...
...
@@ -812,10 +812,10 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
if
(
mVideoAllCallBack
!=
null
&&
isCurrentMediaListener
())
{
if
(
isIfCurrentIsFullscreen
())
{
Debuger
.
printfLog
(
"onClickSeekbarFullscreen"
);
mVideoAllCallBack
.
onClickSeekbarFullscreen
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onClickSeekbarFullscreen
(
mUrl
,
m
Title
);
}
else
{
Debuger
.
printfLog
(
"onClickSeekbar"
);
mVideoAllCallBack
.
onClickSeekbar
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onClickSeekbar
(
mUrl
,
m
Title
);
}
}
if
(
GSYVideoManager
.
instance
().
getMediaPlayer
()
!=
null
&&
mHadPlay
)
{
...
...
@@ -847,7 +847,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
if
(
mVideoAllCallBack
!=
null
&&
isCurrentMediaListener
())
{
Debuger
.
printfLog
(
"onPrepared"
);
mVideoAllCallBack
.
onPrepared
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onPrepared
(
mUrl
,
m
Title
);
}
if
(
GSYVideoManager
.
instance
().
getMediaPlayer
()
!=
null
&&
mSeekOnStart
>
0
)
{
...
...
@@ -863,7 +863,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
public
void
onAutoCompletion
()
{
if
(
mVideoAllCallBack
!=
null
&&
isCurrentMediaListener
())
{
Debuger
.
printfLog
(
"onAutoComplete"
);
mVideoAllCallBack
.
onAutoComplete
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onAutoComplete
(
mUrl
,
m
Title
);
}
setStateAndUi
(
CURRENT_STATE_AUTO_COMPLETE
);
if
(
mTextureViewContainer
.
getChildCount
()
>
0
)
{
...
...
@@ -940,7 +940,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
mNetChanged
=
false
;
netWorkErrorLogic
();
if
(
mVideoAllCallBack
!=
null
)
{
mVideoAllCallBack
.
onPlayError
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onPlayError
(
mUrl
,
m
Title
);
}
return
;
}
...
...
@@ -949,7 +949,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
setStateAndUi
(
CURRENT_STATE_ERROR
);
deleteCacheFileWhenError
();
if
(
mVideoAllCallBack
!=
null
)
{
mVideoAllCallBack
.
onPlayError
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onPlayError
(
mUrl
,
m
Title
);
}
}
}
...
...
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/utils/ListVideoUtil.java
浏览文件 @
4a3b9bec
...
...
@@ -5,6 +5,7 @@ import android.content.Context;
import
android.graphics.Color
;
import
android.graphics.Point
;
import
android.os.Handler
;
import
android.text.TextUtils
;
import
android.view.Gravity
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -44,7 +45,7 @@ public class ListVideoUtil {
private
Context
context
;
private
File
cachePath
;
private
Object
[]
objects
;
private
String
mTitle
;
private
Map
<
String
,
String
>
mapHeadData
;
...
...
@@ -138,10 +139,10 @@ public class ListVideoUtil {
gsyVideoPlayer
.
setNeedLockFull
(
needLockFull
);
gsyVideoPlayer
.
setUp
(
url
,
true
,
cachePath
,
mapHeadData
,
objects
);
gsyVideoPlayer
.
setUp
(
url
,
true
,
cachePath
,
mapHeadData
,
mTitle
);
if
(
objects
!=
null
&&
objects
.
length
>
0
)
{
gsyVideoPlayer
.
getTitleTextView
().
setText
(
(
String
)
objects
[
0
]
);
if
(
!
TextUtils
.
isEmpty
(
mTitle
)
)
{
gsyVideoPlayer
.
getTitleTextView
().
setText
(
mTitle
);
}
//增加title
...
...
@@ -573,12 +574,12 @@ public class ListVideoUtil {
this
.
cachePath
=
cachePath
;
}
public
Object
[]
getObjects
()
{
return
objects
;
public
String
getTitle
()
{
return
mTitle
;
}
public
void
set
Objects
(
Object
[]
objects
)
{
this
.
objects
=
objects
;
public
void
set
Title
(
String
title
)
{
this
.
mTitle
=
title
;
}
public
Map
<
String
,
String
>
getMapHeadData
()
{
...
...
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java
浏览文件 @
4a3b9bec
...
...
@@ -113,7 +113,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
protected
String
mUrl
;
//转化后的URL
protected
Object
[]
mObjects
;
protected
String
mTitle
;
protected
File
mCachePath
;
...
...
@@ -242,7 +242,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
if
(
mVideoAllCallBack
!=
null
)
{
Debuger
.
printfError
(
"onEnterFullscreen"
);
mVideoAllCallBack
.
onEnterFullscreen
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onEnterFullscreen
(
mUrl
,
m
Title
);
}
mIfCurrentIsFullscreen
=
true
;
}
...
...
@@ -269,7 +269,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
CLICK_QUIT_FULLSCREEN_TIME
=
System
.
currentTimeMillis
();
if
(
mVideoAllCallBack
!=
null
)
{
Debuger
.
printfError
(
"onQuitFullscreen"
);
mVideoAllCallBack
.
onQuitFullscreen
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onQuitFullscreen
(
mUrl
,
m
Title
);
}
mIfCurrentIsFullscreen
=
false
;
if
(
mHideKey
)
{
...
...
@@ -381,7 +381,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
gsyVideoPlayer
.
mNetChanged
=
mNetChanged
;
gsyVideoPlayer
.
mNetSate
=
mNetSate
;
gsyVideoPlayer
.
mRotateWithSystem
=
mRotateWithSystem
;
gsyVideoPlayer
.
setUp
(
mOriginUrl
,
mCache
,
mCachePath
,
mMapHeadData
,
m
Objects
);
gsyVideoPlayer
.
setUp
(
mOriginUrl
,
mCache
,
mCachePath
,
mMapHeadData
,
m
Title
);
gsyVideoPlayer
.
setStateAndUi
(
mCurrentState
);
gsyVideoPlayer
.
addTextureView
();
...
...
@@ -565,7 +565,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
gsyVideoPlayer
.
mHadPlay
=
mHadPlay
;
gsyVideoPlayer
.
mNetChanged
=
mNetChanged
;
gsyVideoPlayer
.
mNetSate
=
mNetSate
;
gsyVideoPlayer
.
setUp
(
mOriginUrl
,
mCache
,
mCachePath
,
mMapHeadData
,
m
Objects
);
gsyVideoPlayer
.
setUp
(
mOriginUrl
,
mCache
,
mCachePath
,
mMapHeadData
,
m
Title
);
gsyVideoPlayer
.
setStateAndUi
(
mCurrentState
);
gsyVideoPlayer
.
addTextureView
();
//隐藏掉所有的弹出状态哟
...
...
@@ -580,7 +580,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
if
(
mVideoAllCallBack
!=
null
)
{
Debuger
.
printfError
(
"onEnterSmallWidget"
);
mVideoAllCallBack
.
onEnterSmallWidget
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onEnterSmallWidget
(
mUrl
,
m
Title
);
}
return
gsyVideoPlayer
;
...
...
@@ -611,7 +611,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
CLICK_QUIT_FULLSCREEN_TIME
=
System
.
currentTimeMillis
();
if
(
mVideoAllCallBack
!=
null
)
{
Debuger
.
printfLog
(
"onQuitSmallWidget"
);
mVideoAllCallBack
.
onQuitSmallWidget
(
mUrl
,
m
Objects
);
mVideoAllCallBack
.
onQuitSmallWidget
(
mUrl
,
m
Title
);
}
}
...
...
@@ -621,10 +621,10 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
*
* @param url
* @param cacheWithPlay 是否边播边缓存
* @param
objects
* @param
title
* @return
*/
public
abstract
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
File
cachePath
,
Object
...
objects
);
public
abstract
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
File
cachePath
,
String
title
);
/**
* 设置播放URL
...
...
@@ -632,11 +632,11 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
* @param url
* @param cacheWithPlay 是否边播边缓存
* @param mapHeadData
* @param
objects
* @param
title
* @return
*/
public
abstract
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
File
cachePath
,
Map
<
String
,
String
>
mapHeadData
,
Object
...
objects
);
public
abstract
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
File
cachePath
,
Map
<
String
,
String
>
mapHeadData
,
String
title
);
/**
* 设置播放显示状态
...
...
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/ListGSYVideoPlayer.java
浏览文件 @
4a3b9bec
...
...
@@ -43,14 +43,13 @@ public class ListGSYVideoPlayer extends StandardGSYVideoPlayer {
*
* @param url 播放url
* @param cacheWithPlay 是否边播边缓存
* @param objects object[0]目前为title
* @return
*/
public
boolean
setUp
(
List
<
GSYVideoModel
>
url
,
boolean
cacheWithPlay
,
int
position
,
Object
...
objects
)
{
public
boolean
setUp
(
List
<
GSYVideoModel
>
url
,
boolean
cacheWithPlay
,
int
position
)
{
mUriList
=
url
;
mPlayPosition
=
position
;
GSYVideoModel
gsyVideoModel
=
url
.
get
(
position
);
boolean
set
=
setUp
(
gsyVideoModel
.
getUrl
(),
cacheWithPlay
,
objects
);
boolean
set
=
setUp
(
gsyVideoModel
.
getUrl
(),
cacheWithPlay
,
gsyVideoModel
.
getTitle
()
);
if
(!
TextUtils
.
isEmpty
(
gsyVideoModel
.
getTitle
()))
{
mTitleTextView
.
setText
(
gsyVideoModel
.
getTitle
());
}
...
...
@@ -63,14 +62,13 @@ public class ListGSYVideoPlayer extends StandardGSYVideoPlayer {
* @param url 播放url
* @param cacheWithPlay 是否边播边缓存
* @param cachePath 缓存路径,如果是M3U8或者HLS,请设置为false
* @param objects object[0]目前为title
* @return
*/
public
boolean
setUp
(
List
<
GSYVideoModel
>
url
,
boolean
cacheWithPlay
,
int
position
,
File
cachePath
,
Object
...
objects
)
{
public
boolean
setUp
(
List
<
GSYVideoModel
>
url
,
boolean
cacheWithPlay
,
int
position
,
File
cachePath
)
{
mUriList
=
url
;
mPlayPosition
=
position
;
GSYVideoModel
gsyVideoModel
=
url
.
get
(
position
);
boolean
set
=
setUp
(
gsyVideoModel
.
getUrl
(),
cacheWithPlay
,
cachePath
,
objects
);
boolean
set
=
setUp
(
gsyVideoModel
.
getUrl
(),
cacheWithPlay
,
cachePath
,
gsyVideoModel
.
getTitle
()
);
if
(!
TextUtils
.
isEmpty
(
gsyVideoModel
.
getTitle
()))
{
mTitleTextView
.
setText
(
gsyVideoModel
.
getTitle
());
}
...
...
@@ -119,7 +117,7 @@ public class ListGSYVideoPlayer extends StandardGSYVideoPlayer {
if
(
mPlayPosition
<
(
mUriList
.
size
()
-
1
))
{
mPlayPosition
++;
GSYVideoModel
gsyVideoModel
=
mUriList
.
get
(
mPlayPosition
);
setUp
(
gsyVideoModel
.
getUrl
(),
mCache
,
mCachePath
,
mObjects
);
setUp
(
gsyVideoModel
.
getUrl
(),
mCache
,
mCachePath
,
gsyVideoModel
.
getTitle
()
);
if
(!
TextUtils
.
isEmpty
(
gsyVideoModel
.
getTitle
()))
{
mTitleTextView
.
setText
(
gsyVideoModel
.
getTitle
());
}
...
...
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/StandardGSYVideoPlayer.java
浏览文件 @
4a3b9bec
...
...
@@ -176,12 +176,12 @@ public class StandardGSYVideoPlayer extends GSYVideoPlayer {
*
* @param url 播放url
* @param cacheWithPlay 是否边播边缓存
* @param
objects object[0]目前为
title
* @param
title
title
* @return
*/
@Override
public
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
Object
...
objects
)
{
return
setUp
(
url
,
cacheWithPlay
,
(
File
)
null
,
objects
);
public
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
String
title
)
{
return
setUp
(
url
,
cacheWithPlay
,
(
File
)
null
,
title
);
}
/**
...
...
@@ -190,14 +190,14 @@ public class StandardGSYVideoPlayer extends GSYVideoPlayer {
* @param url 播放url
* @param cacheWithPlay 是否边播边缓存
* @param cachePath 缓存路径,如果是M3U8或者HLS,请设置为false
* @param
objects object[0]目前为
title
* @param
title
title
* @return
*/
@Override
public
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
File
cachePath
,
Object
...
objects
)
{
if
(
super
.
setUp
(
url
,
cacheWithPlay
,
cachePath
,
objects
))
{
if
(
objects
!=
null
&&
objects
.
length
>
0
)
{
mTitleTextView
.
setText
(
objects
[
0
].
toString
()
);
public
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
File
cachePath
,
String
title
)
{
if
(
super
.
setUp
(
url
,
cacheWithPlay
,
cachePath
,
title
))
{
if
(
title
!=
null
)
{
mTitleTextView
.
setText
(
title
);
}
if
(
mIfCurrentIsFullscreen
)
{
mFullscreenButton
.
setImageResource
(
getShrinkImageRes
());
...
...
@@ -313,10 +313,10 @@ public class StandardGSYVideoPlayer extends GSYVideoPlayer {
if
(
mStandardVideoAllCallBack
!=
null
&&
isCurrentMediaListener
())
{
if
(
mIfCurrentIsFullscreen
)
{
Debuger
.
printfLog
(
"onClickBlankFullscreen"
);
mStandardVideoAllCallBack
.
onClickBlankFullscreen
(
mUrl
,
m
Objects
);
mStandardVideoAllCallBack
.
onClickBlankFullscreen
(
mUrl
,
m
Title
);
}
else
{
Debuger
.
printfLog
(
"onClickBlank"
);
mStandardVideoAllCallBack
.
onClickBlank
(
mUrl
,
m
Objects
);
mStandardVideoAllCallBack
.
onClickBlank
(
mUrl
,
m
Title
);
}
}
startDismissControlViewTimer
();
...
...
@@ -353,7 +353,7 @@ public class StandardGSYVideoPlayer extends GSYVideoPlayer {
public
void
startPlayLogic
()
{
if
(
mStandardVideoAllCallBack
!=
null
)
{
Debuger
.
printfLog
(
"onClickStartThumb"
);
mStandardVideoAllCallBack
.
onClickStartThumb
(
mUrl
,
m
Objects
);
mStandardVideoAllCallBack
.
onClickStartThumb
(
mUrl
,
m
Title
);
}
prepareVideo
();
startDismissControlViewTimer
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录