Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ac13
GSYVideoPlayer
提交
ae8d7028
G
GSYVideoPlayer
项目概览
ac13
/
GSYVideoPlayer
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
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,发现更多精彩内容 >>
提交
ae8d7028
编写于
9月 25, 2019
作者:
S
shuyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix 2279
上级
bebffc91
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
14 addition
and
10 deletion
+14
-10
app/src/main/java/com/example/gsyvideoplayer/exo/DetailExoListPlayer.java
...a/com/example/gsyvideoplayer/exo/DetailExoListPlayer.java
+3
-2
app/src/main/java/com/example/gsyvideoplayer/exo/GSYExo2MediaPlayer.java
...va/com/example/gsyvideoplayer/exo/GSYExo2MediaPlayer.java
+1
-1
app/src/main/java/com/example/gsyvideoplayer/exo/GSYExo2PlayerView.java
...ava/com/example/gsyvideoplayer/exo/GSYExo2PlayerView.java
+1
-1
app/src/main/java/com/example/gsyvideoplayer/exo/GSYExoModel.java
...main/java/com/example/gsyvideoplayer/exo/GSYExoModel.java
+2
-2
app/src/main/java/com/example/gsyvideoplayer/exo/GSYExoPlayerManager.java
...a/com/example/gsyvideoplayer/exo/GSYExoPlayerManager.java
+3
-0
app/src/main/java/com/example/gsyvideoplayer/exo/GSYExoVideoManager.java
...va/com/example/gsyvideoplayer/exo/GSYExoVideoManager.java
+2
-2
gsyVideoPlayer/build.gradle
gsyVideoPlayer/build.gradle
+2
-2
未找到文件。
app/src/main/java/com/example/gsyvideoplayer/exo/DetailExoListPlayer.java
浏览文件 @
ae8d7028
...
...
@@ -44,13 +44,14 @@ public class DetailExoListPlayer extends GSYBaseActivityDetail<GSYExo2PlayerView
initVideo
();
List
<
GSYVideoModel
>
urls
=
new
ArrayList
<>();
urls
.
add
(
new
GSYVideoModel
(
"http
://7xjmzj.com1.z0.glb.clouddn.com/20171026175005_JObCxCE2.mp4
"
,
"标题1"
));
urls
.
add
(
new
GSYVideoModel
(
"http
s://a1.test.eceibs.com.cn/index.php/mobile/file/media?hash=video%2Flesson%2Fceibs%2F744a6931501642f3a41998624e280137.mp4&sso_token=3789824fe1386eabf866610e50265ef1&user_id=10547&company_id=145&sys_id=0&client_version=1.5.2&resolution=sd
"
,
"标题1"
));
urls
.
add
(
new
GSYVideoModel
(
"https://media6.smartstudy.com/ae/07/3997/2/dest.m3u8"
,
"标题3"
));
urls
.
add
(
new
GSYVideoModel
(
"http://9890.vod.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4"
,
"标题2"
));
detailPlayer
.
setUp
(
urls
,
0
);
//使用 exo 的 CacheDataSourceFactory 实现
detailPlayer
.
setExoCache
(
true
);
detailPlayer
.
setExoCache
(
false
);
detailPlayer
.
setOverrideExtension
(
"m3u8"
);
//增加封面
ImageView
imageView
=
new
ImageView
(
this
);
...
...
app/src/main/java/com/example/gsyvideoplayer/exo/GSYExo2MediaPlayer.java
浏览文件 @
ae8d7028
...
...
@@ -70,7 +70,7 @@ public class GSYExo2MediaPlayer extends IjkExo2MediaPlayer {
}
ConcatenatingMediaSource
concatenatedSource
=
new
ConcatenatingMediaSource
();
for
(
String
uri
:
uris
)
{
MediaSource
mediaSource
=
mExoHelper
.
getMediaSource
(
uri
,
isPreview
,
cache
,
false
,
mCacheDir
,
null
);
MediaSource
mediaSource
=
mExoHelper
.
getMediaSource
(
uri
,
isPreview
,
cache
,
false
,
mCacheDir
,
getOverrideExtension
()
);
concatenatedSource
.
addMediaSource
(
mediaSource
);
}
mMediaSource
=
concatenatedSource
;
...
...
app/src/main/java/com/example/gsyvideoplayer/exo/GSYExo2PlayerView.java
浏览文件 @
ae8d7028
...
...
@@ -180,7 +180,7 @@ public class GSYExo2PlayerView extends StandardGSYVideoPlayer {
Debuger
.
printfError
(
"********************** urls isEmpty . Do you know why ? **********************"
);
}
((
GSYExoVideoManager
)
getGSYVideoManager
()).
prepare
(
urls
,
(
mMapHeadData
==
null
)
?
new
HashMap
<
String
,
String
>()
:
mMapHeadData
,
mLooping
,
mSpeed
,
mExoCache
,
mCachePath
);
((
GSYExoVideoManager
)
getGSYVideoManager
()).
prepare
(
urls
,
(
mMapHeadData
==
null
)
?
new
HashMap
<
String
,
String
>()
:
mMapHeadData
,
mLooping
,
mSpeed
,
mExoCache
,
mCachePath
,
mOverrideExtension
);
setStateAndUi
(
CURRENT_STATE_PREPAREING
);
}
...
...
app/src/main/java/com/example/gsyvideoplayer/exo/GSYExoModel.java
浏览文件 @
ae8d7028
...
...
@@ -16,8 +16,8 @@ public class GSYExoModel extends GSYModel {
List
<
String
>
urls
=
new
ArrayList
<>();
public
GSYExoModel
(
List
<
String
>
urls
,
Map
<
String
,
String
>
mapHeadData
,
boolean
loop
,
float
speed
,
boolean
cache
,
File
cachePath
)
{
super
(
""
,
mapHeadData
,
loop
,
speed
,
cache
,
cachePath
,
""
);
public
GSYExoModel
(
List
<
String
>
urls
,
Map
<
String
,
String
>
mapHeadData
,
boolean
loop
,
float
speed
,
boolean
cache
,
File
cachePath
,
String
overrideExtension
)
{
super
(
""
,
mapHeadData
,
loop
,
speed
,
cache
,
cachePath
,
overrideExtension
);
this
.
urls
=
urls
;
}
...
...
app/src/main/java/com/example/gsyvideoplayer/exo/GSYExoPlayerManager.java
浏览文件 @
ae8d7028
...
...
@@ -9,6 +9,7 @@ import com.google.android.exoplayer2.video.DummySurface;
import
com.shuyu.gsyvideoplayer.cache.ICacheManager
;
import
com.shuyu.gsyvideoplayer.model.VideoOptionModel
;
import
com.shuyu.gsyvideoplayer.player.BasePlayerManager
;
import
com.shuyu.gsyvideoplayer.utils.Debuger
;
import
java.util.List
;
...
...
@@ -40,6 +41,8 @@ public class GSYExoPlayerManager extends BasePlayerManager {
}
try
{
mediaPlayer
.
setLooping
(((
GSYExoModel
)
msg
.
obj
).
isLooping
());
Debuger
.
printfError
(
"###### "
+
((
GSYExoModel
)
msg
.
obj
).
getOverrideExtension
());
mediaPlayer
.
setOverrideExtension
(((
GSYExoModel
)
msg
.
obj
).
getOverrideExtension
());
mediaPlayer
.
setDataSource
(((
GSYExoModel
)
msg
.
obj
).
getUrls
(),
((
GSYExoModel
)
msg
.
obj
).
getMapHeadData
(),
((
GSYExoModel
)
msg
.
obj
).
isCache
());
//很遗憾,EXO2的setSpeed只能在播放前生效
if
(((
GSYExoModel
)
msg
.
obj
).
getSpeed
()
!=
1
&&
((
GSYExoModel
)
msg
.
obj
).
getSpeed
()
>
0
)
{
...
...
app/src/main/java/com/example/gsyvideoplayer/exo/GSYExoVideoManager.java
浏览文件 @
ae8d7028
...
...
@@ -53,11 +53,11 @@ public class GSYExoVideoManager extends GSYVideoBaseManager {
return
new
GSYExoPlayerManager
();
}
public
void
prepare
(
List
<
String
>
urls
,
Map
<
String
,
String
>
mapHeadData
,
boolean
loop
,
float
speed
,
boolean
cache
,
File
cachePath
)
{
public
void
prepare
(
List
<
String
>
urls
,
Map
<
String
,
String
>
mapHeadData
,
boolean
loop
,
float
speed
,
boolean
cache
,
File
cachePath
,
String
overrideExtension
)
{
if
(
urls
.
size
()
==
0
)
return
;
Message
msg
=
new
Message
();
msg
.
what
=
HANDLER_PREPARE
;
msg
.
obj
=
new
GSYExoModel
(
urls
,
mapHeadData
,
loop
,
speed
,
cache
,
cachePath
);
msg
.
obj
=
new
GSYExoModel
(
urls
,
mapHeadData
,
loop
,
speed
,
cache
,
cachePath
,
overrideExtension
);
sendMessage
(
msg
);
if
(
needTimeOutOther
)
{
startTimeOutBuffer
();
...
...
gsyVideoPlayer/build.gradle
浏览文件 @
ae8d7028
...
...
@@ -36,7 +36,7 @@ dependencies {
implementation
fileTree
(
dir:
'libs'
,
include:
[
'*.jar'
])
api
project
(
':gsyVideoPlayer-java'
)
//
api project(':gsyVideoPlayer-exo_player2')
api
project
(
':gsyVideoPlayer-exo_player2'
)
//api project(':gsyVideoPlayer-armv5')
//api project(':gsyVideoPlayer-armv7a')
//api project(':gsyVideoPlayer-armv64')
...
...
@@ -49,7 +49,7 @@ dependencies {
//api "com.shuyu:GSYVideoPlayer:$gsyVideoVersion"
//api "com.shuyu:gsyVideoPlayer-java:$gsyVideoVersion"
api
"com.shuyu:GSYVideoPlayer-exo2:$gsyVideoVersion"
//
api "com.shuyu:GSYVideoPlayer-exo2:$gsyVideoVersion"
api
"com.shuyu:gsyVideoPlayer-armv5:$gsyVideoVersion"
api
"com.shuyu:gsyVideoPlayer-armv7a:$gsyVideoVersion"
api
"com.shuyu:gsyVideoPlayer-arm64:$gsyVideoVersion"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录