Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ac13
GSYVideoPlayer
提交
873de027
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,体验更适合开发者的 AI 搜索 >>
提交
873de027
编写于
11月 28, 2019
作者:
G
guoshuyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加 exo 支持 raw
上级
02dc1124
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
31 addition
and
4 deletion
+31
-4
app/src/main/java/com/example/gsyvideoplayer/DetailPlayer.java
...rc/main/java/com/example/gsyvideoplayer/DetailPlayer.java
+6
-2
app/src/main/res/raw/test1.mp4
app/src/main/res/raw/test1.mp4
+0
-0
gsyVideoPlayer-exo_player2/src/main/java/tv/danmaku/ijk/media/exo2/ExoSourceManager.java
...main/java/tv/danmaku/ijk/media/exo2/ExoSourceManager.java
+23
-0
gsyVideoPlayer/build.gradle
gsyVideoPlayer/build.gradle
+2
-2
未找到文件。
app/src/main/java/com/example/gsyvideoplayer/DetailPlayer.java
浏览文件 @
873de027
...
...
@@ -11,6 +11,7 @@ import android.widget.RelativeLayout;
import
com.example.gsyvideoplayer.video.LandLayoutVideo
;
import
com.google.android.exoplayer2.SeekParameters
;
import
com.google.android.exoplayer2.upstream.RawResourceDataSource
;
import
com.shuyu.gsyvideoplayer.GSYVideoManager
;
import
com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack
;
import
com.shuyu.gsyvideoplayer.listener.GSYVideoProgressListener
;
...
...
@@ -253,9 +254,12 @@ public class DetailPlayer extends AppCompatActivity {
private
String
getUrl
()
{
//
String url = "android.resource://" + getPackageName() + "/" + R.raw.test
;
//
/String url = "android.resource://" + getPackageName() + "/" + R.raw.test1
;
//注意,用ijk模式播放raw视频,这个必须打开
//GSYVideoManager.instance().enableRawPlay(getApplicationContext());
///GSYVideoManager.instance().enableRawPlay(getApplicationContext());
///exo raw 支持
///String url = RawResourceDataSource.buildRawResourceUri(R.raw.test).toString();
//断网自动重新链接,url前接上ijkhttphook:
//String url = "ijkhttphook:https://res.exexm.com/cw_145225549855002";
...
...
app/src/main/res/raw/test1.mp4
0 → 100644
浏览文件 @
873de027
文件已添加
gsyVideoPlayer-exo_player2/src/main/java/tv/danmaku/ijk/media/exo2/ExoSourceManager.java
浏览文件 @
873de027
...
...
@@ -23,9 +23,11 @@ import com.google.android.exoplayer2.source.hls.HlsMediaSource;
import
com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource
;
import
com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource
;
import
com.google.android.exoplayer2.upstream.DataSource
;
import
com.google.android.exoplayer2.upstream.DataSpec
;
import
com.google.android.exoplayer2.upstream.DefaultBandwidthMeter
;
import
com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
;
import
com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory
;
import
com.google.android.exoplayer2.upstream.RawResourceDataSource
;
import
com.google.android.exoplayer2.upstream.cache.Cache
;
import
com.google.android.exoplayer2.upstream.cache.CacheDataSource
;
import
com.google.android.exoplayer2.upstream.cache.CacheDataSourceFactory
;
...
...
@@ -95,6 +97,27 @@ public class ExoSourceManager {
mDataSource
=
dataSource
;
Uri
contentUri
=
Uri
.
parse
(
dataSource
);
int
contentType
=
inferContentType
(
dataSource
,
overrideExtension
);
if
(
"android.resource"
.
equals
(
contentUri
.
getScheme
()))
{
DataSpec
dataSpec
=
new
DataSpec
(
contentUri
);
final
RawResourceDataSource
rawResourceDataSource
=
new
RawResourceDataSource
(
mAppContext
);
try
{
rawResourceDataSource
.
open
(
dataSpec
);
}
catch
(
RawResourceDataSource
.
RawResourceDataSourceException
e
)
{
e
.
printStackTrace
();
}
DataSource
.
Factory
factory
=
new
DataSource
.
Factory
()
{
@Override
public
DataSource
createDataSource
()
{
return
rawResourceDataSource
;
}
};
ExtractorMediaSource
extractorMediaSource
=
new
ExtractorMediaSource
(
rawResourceDataSource
.
getUri
(),
factory
,
new
DefaultExtractorsFactory
(),
null
,
null
);
return
extractorMediaSource
;
}
switch
(
contentType
)
{
case
C
.
TYPE_SS
:
mediaSource
=
new
SsMediaSource
.
Factory
(
...
...
gsyVideoPlayer/build.gradle
浏览文件 @
873de027
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录