Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_26386469
GSYVideoPlayer
提交
088d1041
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,发现更多精彩内容 >>
提交
088d1041
编写于
1月 11, 2017
作者:
S
shuyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
v1.5.6
* 修复了mUrl再error后为空的问题。 * 增加了GSYVideoManager的option配置接口。
上级
2b07169c
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
139 addition
and
12 deletion
+139
-12
README.md
README.md
+12
-9
UPDATE_VERSION.md
UPDATE_VERSION.md
+10
-0
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoManager.java
...c/main/java/com/shuyu/gsyvideoplayer/GSYVideoManager.java
+31
-0
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java
...rc/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java
+3
-1
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/model/VideoOptionModel.java
...java/com/shuyu/gsyvideoplayer/model/VideoOptionModel.java
+81
-0
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java
...va/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java
+2
-2
未找到文件。
README.md
浏览文件 @
088d1041
...
...
@@ -42,7 +42,7 @@ allprojects {
```
dependencies {
compile 'com.github.CarGuo:GSYVideoPlayer:v1.5.
5
'
compile 'com.github.CarGuo:GSYVideoPlayer:v1.5.
6
'
}
```
...
...
@@ -84,6 +84,17 @@ dependencies {
## 近期版本
### 1.5.6
*
修复了mUrl再error后为空的问题。
*
增加了GSYVideoManager的option配置接口。
```
/**
* 设置IJK视频的option
*/
public void setOptionModelList(List<VideoOptionModel> optionModelList)
```
### 1.5.5
*
update ijk 0.7.6。
*
快播与慢播接口支持M以下。
...
...
@@ -101,14 +112,6 @@ GSYVideoManager下
public void setNeedMute(boolean needMute)
```
### 1.5.3
*
修改了在缓冲的时候,默认loading点击会重置的问题。
*
虚拟按键在弹出的后,过一段时间自动隐藏。
### 1.5.2
*
增加了Error的回调接口。
*
修复了Demo的PlayActivity兼容问题。
### 更多版本请查阅:[版本更新说明](https://github.com/CarGuo/GSYVideoPlayer/blob/master/UPDATE_VERSION.md)
...
...
UPDATE_VERSION.md
浏览文件 @
088d1041
## 下方个版本说明,可以当做简单的wiki使用~,效果可参考DEMO。
### 1.5.6
*
修复了mUrl再error后为空的问题。
*
增加了GSYVideoManager的option配置接口。
```
/**
* 设置IJK视频的option
*/
public void setOptionModelList(List<VideoOptionModel> optionModelList)
```
### 1.5.5
*
update ijk 0.7.6。
...
...
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoManager.java
浏览文件 @
088d1041
...
...
@@ -17,6 +17,7 @@ import com.danikula.videocache.HttpProxyCacheServer;
import
com.danikula.videocache.file.Md5FileNameGenerator
;
import
com.shuyu.gsyvideoplayer.listener.GSYMediaPlayerListener
;
import
com.shuyu.gsyvideoplayer.model.GSYModel
;
import
com.shuyu.gsyvideoplayer.model.VideoOptionModel
;
import
com.shuyu.gsyvideoplayer.utils.GSYVideoType
;
import
com.shuyu.gsyvideoplayer.utils.CommonUtil
;
import
com.shuyu.gsyvideoplayer.utils.Debuger
;
...
...
@@ -26,6 +27,8 @@ import com.shuyu.gsyvideoplayer.utils.StorageUtils;
import
java.io.File
;
import
java.io.IOException
;
import
java.lang.ref.WeakReference
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
tv.danmaku.ijk.media.exo.IjkExoMediaPlayer
;
...
...
@@ -59,6 +62,8 @@ public class GSYVideoManager implements IMediaPlayer.OnPreparedListener, IMediaP
private
WeakReference
<
GSYMediaPlayerListener
>
listener
;
private
WeakReference
<
GSYMediaPlayerListener
>
lastListener
;
private
List
<
VideoOptionModel
>
optionModelList
;
//配置ijk option
private
HttpProxyCacheServer
proxy
;
//视频代理
private
File
cacheFile
;
...
...
@@ -282,6 +287,7 @@ public class GSYVideoManager implements IMediaPlayer.OnPreparedListener, IMediaP
if
(((
GSYModel
)
msg
.
obj
).
getSpeed
()
!=
1
&&
((
GSYModel
)
msg
.
obj
).
getSpeed
()
>
0
)
{
((
IjkMediaPlayer
)
mediaPlayer
).
setSpeed
(((
GSYModel
)
msg
.
obj
).
getSpeed
());
}
initIJKOption
((
IjkMediaPlayer
)
mediaPlayer
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
...
...
@@ -297,6 +303,20 @@ public class GSYVideoManager implements IMediaPlayer.OnPreparedListener, IMediaP
}
}
private
void
initIJKOption
(
IjkMediaPlayer
ijkMediaPlayer
)
{
if
(
optionModelList
!=
null
&&
optionModelList
.
size
()
>
0
)
{
for
(
VideoOptionModel
videoOptionModel
:
optionModelList
)
{
if
(
videoOptionModel
.
getValueType
()
==
VideoOptionModel
.
VALUE_TYPE_INT
)
{
ijkMediaPlayer
.
setOption
(
videoOptionModel
.
getCategory
(),
videoOptionModel
.
getName
(),
videoOptionModel
.
getValueInt
());
}
else
{
ijkMediaPlayer
.
setOption
(
videoOptionModel
.
getCategory
(),
videoOptionModel
.
getName
(),
videoOptionModel
.
getValueString
());
}
}
}
}
private
void
showDisplay
(
Message
msg
)
{
if
(
msg
.
obj
==
null
&&
mediaPlayer
!=
null
)
{
...
...
@@ -506,6 +526,17 @@ public class GSYVideoManager implements IMediaPlayer.OnPreparedListener, IMediaP
return
videoType
;
}
public
List
<
VideoOptionModel
>
getOptionModelList
()
{
return
optionModelList
;
}
/**
* 设置IJK视频的option
*/
public
void
setOptionModelList
(
List
<
VideoOptionModel
>
optionModelList
)
{
this
.
optionModelList
=
optionModelList
;
}
/**
* 设置了视频的播放类型
* GSYVideoType IJKPLAYER = 0 or IJKEXOPLAYER = 1;
...
...
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java
浏览文件 @
088d1041
...
...
@@ -233,15 +233,17 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
public
boolean
setUp
(
String
url
,
boolean
cacheWithPlay
,
File
cachePath
,
Object
...
objects
)
{
mCache
=
cacheWithPlay
;
mCachePath
=
cachePath
;
mOriginUrl
=
url
;
if
(
isCurrentMediaListener
()
&&
(
System
.
currentTimeMillis
()
-
CLICK_QUIT_FULLSCREEN_TIME
)
<
FULL_SCREEN_NORMAL_DELAY
)
return
false
;
mCurrentState
=
CURRENT_STATE_NORMAL
;
if
(
cacheWithPlay
&&
url
.
startsWith
(
"http"
)
&&
!
url
.
contains
(
"127.0.0.1"
))
{
mOriginUrl
=
url
;
HttpProxyCacheServer
proxy
=
GSYVideoManager
.
getProxy
(
getContext
().
getApplicationContext
(),
cachePath
);
//此处转换了url,然后再赋值给mUrl。
url
=
proxy
.
getProxyUrl
(
url
);
mCacheFile
=
(!
url
.
startsWith
(
"http"
));
//注册上缓冲监听
if
(!
mCacheFile
&&
GSYVideoManager
.
instance
()
!=
null
)
{
proxy
.
registerCacheListener
(
GSYVideoManager
.
instance
(),
mOriginUrl
);
}
...
...
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/model/VideoOptionModel.java
0 → 100644
浏览文件 @
088d1041
package
com.shuyu.gsyvideoplayer.model
;
/**
* Created by guoshuyu on 2017/1/11.
* 配置ijk option用的
*/
public
class
VideoOptionModel
{
public
static
final
int
VALUE_TYPE_INT
=
0
;
public
static
final
int
VALUE_TYPE_STRING
=
1
;
//你设置的value是int还是string,ijk的option value 对应。
int
valueType
=
VALUE_TYPE_INT
;
int
category
;
int
valueInt
;
String
name
;
String
valueString
;
public
VideoOptionModel
(
int
category
,
String
name
,
int
value
)
{
super
();
this
.
category
=
category
;
this
.
name
=
name
;
this
.
valueInt
=
value
;
valueType
=
VALUE_TYPE_INT
;
}
public
VideoOptionModel
(
int
category
,
String
name
,
String
value
)
{
super
();
this
.
category
=
category
;
this
.
name
=
name
;
this
.
valueString
=
value
;
valueType
=
VALUE_TYPE_STRING
;
}
public
int
getValueType
()
{
return
valueType
;
}
public
void
setValueType
(
int
valueType
)
{
this
.
valueType
=
valueType
;
}
public
int
getCategory
()
{
return
category
;
}
public
void
setCategory
(
int
category
)
{
this
.
category
=
category
;
}
public
int
getValueInt
()
{
return
valueInt
;
}
public
void
setValueInt
(
int
valueInt
)
{
this
.
valueInt
=
valueInt
;
valueType
=
VALUE_TYPE_INT
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getValueString
()
{
return
valueString
;
}
public
void
setValueString
(
String
valueString
)
{
this
.
valueString
=
valueString
;
valueType
=
VALUE_TYPE_STRING
;
}
}
gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java
浏览文件 @
088d1041
...
...
@@ -346,7 +346,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
gsyVideoPlayer
.
mCacheFile
=
mCacheFile
;
gsyVideoPlayer
.
mFullPauseBitmap
=
mFullPauseBitmap
;
gsyVideoPlayer
.
mNeedShowWifiTip
=
mNeedShowWifiTip
;
gsyVideoPlayer
.
setUp
(
mUrl
,
mCache
,
mCachePath
,
mMapHeadData
,
mObjects
);
gsyVideoPlayer
.
setUp
(
m
Origin
Url
,
mCache
,
mCachePath
,
mMapHeadData
,
mObjects
);
gsyVideoPlayer
.
setStateAndUi
(
mCurrentState
);
gsyVideoPlayer
.
addTextureView
();
...
...
@@ -515,7 +515,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia
vp
.
addView
(
frameLayout
,
lpParent
);
gsyVideoPlayer
.
mHadPlay
=
mHadPlay
;
gsyVideoPlayer
.
setUp
(
mUrl
,
mCache
,
mCachePath
,
mMapHeadData
,
mObjects
);
gsyVideoPlayer
.
setUp
(
m
Origin
Url
,
mCache
,
mCachePath
,
mMapHeadData
,
mObjects
);
gsyVideoPlayer
.
setStateAndUi
(
mCurrentState
);
gsyVideoPlayer
.
addTextureView
();
//隐藏掉所有的弹出状态哟
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录