Giter Club home page Giter Club logo

carguo / gsyvideoplayer Goto Github PK

View Code? Open in Web Editor NEW
19.7K 429.0 4.1K 325.79 MB

视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、concat、mpeg。

Home Page: https://juejin.im/user/582aca2ba22b9d006b59ae68/posts

License: Apache License 2.0

Java 97.87% Shell 2.13%
android video player ijkplayer ffmpeg exoplayer https videocache

gsyvideoplayer's Introduction

gsyvideoplayer's People

Contributors

carguo avatar carguosmall avatar dendrocyte avatar equationl avatar ernest-su avatar feicien avatar fenghebaiyang avatar goooler avatar gouzhong1223 avatar haohaozaici avatar hynsn avatar interneted avatar julywind avatar monsterlin avatar phxnirvana avatar puredark avatar rosuh avatar smartvive avatar testsmirk avatar wangrunxiang avatar xiangbill avatar yunfeit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gsyvideoplayer's Issues

红米note2,3 报错..

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.apps.android.news.news-2/base.apk"],nativeLibraryDirectories=[/data/app/com.apps.android.news.news-2/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libijkffmpeg.so"
at java.lang.Runtime.loadLibrary(Runtime.java:366)
at java.lang.System.loadLibrary(System.java:988)
at tv.danmaku.ijk.media.player.IjkMediaPlayer$1.loadLibrary(IjkMediaPlayer.java:163)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.loadLibrariesOnce(IjkMediaPlayer.java:174)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.initPlayer(IjkMediaPlayer.java:215)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.(IjkMediaPlayer.java:211)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.(IjkMediaPlayer.java:202)
at com.shuyu.gsyvideoplayer.GSYVideoManager.(GSYVideoManager.java:204)
at com.shuyu.gsyvideoplayer.GSYVideoManager.instance(GSYVideoManager.java:84)
at com.shuyu.gsyvideoplayer.GSYVideoPlayer.isCurrentMediaListener(GSYVideoPlayer.java:1064)
at com.shuyu.gsyvideoplayer.GSYVideoPlayer.setUp(GSYVideoPlayer.java:227)
at com.apps.android.news.news.ui.widget.MyVideoPlayer.setUp(MyVideoPlayer.java:179)
at com.apps.android.news.news.ui.activity.VideoDetailActivity.setVideo(VideoDetailActivity.java:144)
at com.apps.android.news.news.ui.activity.VideoDetailActivity.onCreate(VideoDetailActivity.java:117)
at android.app.Activity.performCreate(Activity.java:6041)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1109)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2285)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2394)
at android.app.ActivityThread.access$800(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5276)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:911)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:706)

二次开发得非常好

经过你的二次开发,比节操播放器好用多了,而且功能还比节操播放器多了不少。节操播放器公开的API太少,而且wiki实在有点少

setUp()方法

5ab8f3fc-4590-4d83-9aca-709262ce54ee
如上图,我在setUp()方法里,加了一些我自己的业务进去。这些业务在播放器竖屏下是没有问题的,但点击全屏时,这些业务不见了。我需要做什么处理?

开放接口控制播放暂停

我想实现预览播放几秒后进行暂停播放以实现所需要的接口,我通过增加一个当前播放时间的监听接口,能否提供封装好的接口已实现播放和暂停操作。

土豆解析出来的m3u8地址播放不了。。。

视频地址:http://vr.tudou.com/v2proxy/v2.m3u8?it=249426936&st=3&pw=
苹果端可以直接播放。。求助大神。
LOG:
01-19 16:25:14.030 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_release
01-19 16:25:14.030 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_setVolume
01-19 16:25:14.031 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_setVideoSurface
01-19 16:25:14.035 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_release
01-19 16:25:14.035 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_native_setup
01-19 16:25:14.035 12771-13395/com.rmj.asmr I/IJKMEDIA: av_version_info: ff3.2--ijk0.7.5--20161205--001
01-19 16:25:14.035 12771-13395/com.rmj.asmr I/IJKMEDIA: ijk_version_info: k0.7.5-21-gaffc5fd
01-19 16:25:14.035 12771-13395/com.rmj.asmr D/IJKMEDIA: ffpipeline_create_from_android()
01-19 16:25:14.035 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_set_inject_opaque(0x1008a6)
01-19 16:25:14.035 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_set_inject_opaque()=void
01-19 16:25:14.035 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()
01-19 16:25:14.035 12771-13395/com.rmj.asmr D/IJKMEDIA: ffpipeline_set_mediacodec_select_callback
01-19 16:25:14.035 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_android_set_mediacodec_select_callback()=void
01-19 16:25:14.035 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_setDataSourceAndHeaders
01-19 16:25:14.035 12771-13395/com.rmj.asmr V/IJKMEDIA: setDataSource: path http://vr.tudou.com/v2proxy/v2.m3u8?it=249426936&st=3&pw=
01-19 16:25:14.035 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_set_data_source(url="http://vr.tudou.com/v2proxy/v2.m3u8?it=249426936&st=3&pw=")
01-19 16:25:14.036 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_set_data_source(url="http://vr.tudou.com/v2proxy/v2.m3u8?it=249426936&st=3&pw=")=0
01-19 16:25:14.036 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_setOptionLong
01-19 16:25:14.036 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_setLoopCount
01-19 16:25:14.036 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_setVolume
01-19 16:25:14.036 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_android_set_volume(1.000000, 1.000000)
01-19 16:25:14.036 12771-13395/com.rmj.asmr D/IJKMEDIA: ffpipeline_set_volume
01-19 16:25:14.036 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_android_set_volume(1.000000, 1.000000)=void
01-19 16:25:14.036 12771-13395/com.rmj.asmr W/tv.danmaku.ijk.media.player.IjkMediaPlayer: setScreenOnWhilePlaying(true) is ineffective without a SurfaceHolder
01-19 16:25:14.036 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_prepareAsync
01-19 16:25:14.036 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_prepare_async()
01-19 16:25:14.036 12771-13395/com.rmj.asmr I/IJKMEDIA: ===== versions =====
01-19 16:25:14.036 12771-13395/com.rmj.asmr I/IJKMEDIA: ijkplayer : k0.7.5-21-gaffc5fd
01-19 16:25:14.036 12771-13395/com.rmj.asmr I/IJKMEDIA: FFmpeg : ff3.2--ijk0.7.5--20161205--001
01-19 16:25:14.036 12771-13395/com.rmj.asmr I/IJKMEDIA: libavutil : 55.34.100
01-19 16:25:14.036 12771-13395/com.rmj.asmr I/IJKMEDIA: libavcodec : 57.64.100
01-19 16:25:14.036 12771-13395/com.rmj.asmr I/IJKMEDIA: libavformat : 57.56.100
01-19 16:25:14.036 12771-13395/com.rmj.asmr I/IJKMEDIA: libswscale : 4.2.100
01-19 16:25:14.036 12771-13395/com.rmj.asmr I/IJKMEDIA: libswresample: 2.3.100
01-19 16:25:14.036 12771-13395/com.rmj.asmr I/IJKMEDIA: ===== options =====
01-19 16:25:14.036 12771-13395/com.rmj.asmr I/IJKMEDIA: player-opts : loop = 1
01-19 16:25:14.036 12771-13395/com.rmj.asmr I/IJKMEDIA: format-opts : ijkapplication = 547721374816
01-19 16:25:14.036 12771-13395/com.rmj.asmr I/IJKMEDIA: ===================
01-19 16:25:14.037 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_prepare_async()=0
01-19 16:25:14.037 12771-14191/com.rmj.asmr I/IJKMEDIA: SDL_RunThread: [14191] ff_msg_loop
01-19 16:25:14.037 12771-14191/com.rmj.asmr D/IJKMEDIA: message_loop
01-19 16:25:14.038 12771-14191/com.rmj.asmr D/IJKMEDIA: FFP_MSG_FLUSH:
01-19 16:25:14.038 12771-14192/com.rmj.asmr I/IJKMEDIA: SDL_RunThread: [14192] ff_vout
01-19 16:25:14.038 12771-14193/com.rmj.asmr I/IJKMEDIA: SDL_RunThread: [14193] ff_read
01-19 16:25:14.040 12771-14193/com.rmj.asmr I/tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 1
01-19 16:25:14.043 12771-13395/com.rmj.asmr W/tv.danmaku.ijk.media.player.IjkMediaPlayer: setScreenOnWhilePlaying(true) is ineffective for Surface
01-19 16:25:14.043 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_setVideoSurface
01-19 16:25:14.043 12771-14193/com.rmj.asmr I/tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 131073
01-19 16:25:14.043 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_set_android_surface(surface=0x7f82dfdbb8)
01-19 16:25:14.043 12771-13395/com.rmj.asmr D/IJKMEDIA: ffpipeline_set_surface()
01-19 16:25:14.043 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_set_android_surface(surface=0x7f82dfdbb8)=void
01-19 16:25:14.061 12771-14193/com.rmj.asmr I/tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 131074
01-19 16:25:14.074 12771-14193/com.rmj.asmr W/IJKMEDIA: HTTP error 403 Forbidden
01-19 16:25:14.074 12771-14193/com.rmj.asmr I/tv.danmaku.ijk.media.player.IjkMediaPlayer: onNativeInvoke 2
01-19 16:25:14.074 12771-14193/com.rmj.asmr E/IJKMEDIA: http://vr.tudou.com/v2proxy/v2.m3u8?it=249426936&st=3&pw=: Server returned 403 Forbidden (access denied)
01-19 16:25:14.074 12771-14193/com.rmj.asmr I/IJKMEDIA: SDL_JNI_DetachThreadEnv: [14193]
01-19 16:25:14.074 12771-14191/com.rmj.asmr D/IJKMEDIA: FFP_MSG_ERROR: 0
01-19 16:25:14.075 12771-13395/com.rmj.asmr E/tv.danmaku.ijk.media.player.IjkMediaPlayer: Error (-10000,0)
01-19 16:25:14.075 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_release
01-19 16:25:14.075 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_set_android_surface(surface=0x0)
01-19 16:25:14.075 12771-13395/com.rmj.asmr D/IJKMEDIA: ffpipeline_set_surface()
01-19 16:25:14.075 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_set_android_surface(surface=0x0)=void
01-19 16:25:14.075 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_shutdown_l()
01-19 16:25:14.075 12771-14191/com.rmj.asmr D/IJKMEDIA: message_loop exit
01-19 16:25:14.075 12771-14191/com.rmj.asmr I/IJKMEDIA: SDL_JNI_DetachThreadEnv: [14191]
01-19 16:25:14.079 12771-14192/com.rmj.asmr I/IJKMEDIA: SDL_JNI_DetachThreadEnv: [14192]
01-19 16:25:14.079 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_shutdown_l()=void
01-19 16:25:14.079 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_dec_ref(): ref=0
01-19 16:25:14.079 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_shutdown_l()
01-19 16:25:14.079 12771-13395/com.rmj.asmr D/IJKMEDIA: ijkmp_shutdown_l()=void
01-19 16:25:14.079 12771-13395/com.rmj.asmr D/IJKMEDIA: IjkMediaPlayer_setVolume

一个小问题

在recyclerview中的demo 播放完毕之后点击上锁之后会出现一些问题 作者可以看看demo~

UnsatisfiedLinkError

java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/com.example.gsyvideoplayer-1/lib/x86/libijkffmpeg.so: has text relocations
at java.lang.Runtime.loadLibrary(Runtime.java:372)
at java.lang.System.loadLibrary(System.java:1076)
at tv.danmaku.ijk.media.player.IjkMediaPlayer$1.loadLibrary(IjkMediaPlayer.java:163)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.loadLibrariesOnce(IjkMediaPlayer.java:174)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.initPlayer(IjkMediaPlayer.java:215)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.(IjkMediaPlayer.java:211)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.(IjkMediaPlayer.java:202)
at com.shuyu.gsyvideoplayer.GSYVideoManager.(GSYVideoManager.java:207)
at com.shuyu.gsyvideoplayer.GSYVideoManager.instance(GSYVideoManager.java:87)
at com.shuyu.gsyvideoplayer.GSYVideoPlayer.isCurrentMediaListener(GSYVideoPlayer.java:1068)
at com.shuyu.gsyvideoplayer.GSYVideoPlayer.setUp(GSYVideoPlayer.java:230)
at com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer.setUp(StandardGSYVideoPlayer.java:200)
at com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer.setUp(StandardGSYVideoPlayer.java:186)
at com.example.gsyvideoplayer.video.SampleVideo.setUp(SampleVideo.java:120)
at com.example.gsyvideoplayer.PlayActivity.init(PlayActivity.java:74)
at com.example.gsyvideoplayer.PlayActivity.onCreate(PlayActivity.java:53)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
12-23 12:43:44.594 28391-28399/com.example.gsyvideoplayer E/art: No implementation found for void tv.danmaku.ijk.media.player.IjkMediaPlayer.native_finalize() (tried Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1finalize and Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1finalize__)
12-23 12:43:44.595 28391-28399/com.example.gsyvideoplayer E/System: Uncaught exception thrown by finalizer
12-23 12:43:44.595 28391-28399/com.example.gsyvideoplayer E/System: java.lang.UnsatisfiedLinkError: No implementation found for void tv.danmaku.ijk.media.player.IjkMediaPlayer.native_finalize() (tried Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1finalize and Java_tv_danmaku_ijk_media_player_IjkMediaPlayer_native_1finalize__)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.native_finalize(Native Method)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.finalize(IjkMediaPlayer.java:893)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:202)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:185)
at java.lang.Thread.run(Thread.java:818)

java.lang.UnsatisfiedLinkError: Cannot load library: find_library[1201]: 163 'libijksdl.so' failed to load previously

4.1 至4.3会出现这个问题
FATAL EXCEPTION: main
java.lang.UnsatisfiedLinkError: Cannot load library: find_library[1201]: 163 'libijksdl.so' failed to load previously
at java.lang.Runtime.loadLibrary(Runtime.java:370)
at java.lang.System.loadLibrary(System.java:535)
at tv.danmaku.ijk.media.player.IjkMediaPlayer$1.loadLibrary(IjkMediaPlayer.java:163)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.loadLibrariesOnce(IjkMediaPlayer.java:175)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.initPlayer(IjkMediaPlayer.java:215)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.(IjkMediaPlayer.java:211)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.(IjkMediaPlayer.java:202)
at com.shuyu.gsyvideoplayer.GSYVideoManager.(GSYVideoManager.java:189)
at com.shuyu.gsyvideoplayer.GSYVideoManager.instance(GSYVideoManager.java:69)
at com.shuyu.gsyvideoplayer.GSYVideoPlayer.isCurrentMediaListener(GSYVideoPlayer.java:1046)
at com.shuyu.gsyvideoplayer.GSYVideoPlayer.setUp(GSYVideoPlayer.java:244)
at com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer.setUp(StandardGSYVideoPlayer.java:146)
at com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer.setUp(StandardGSYVideoPlayer.java:141)
at com.hutchind.cordova.plugins.streamingmedia.PlayActivity.init(PlayActivity.java:75)
at com.hutchind.cordova.plugins.streamingmedia.PlayActivity.onCreate(PlayActivity.java:60)
at android.app.Activity.performCreate(Activity.java:5203)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2078)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2139)
at android.app.ActivityThread.access$700(ActivityThread.java:143)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4960)

全屏调整亮度问题

第一个单独的例子中,全屏调整亮度,调整到百分百了,然后松手又复位了,未保存亮度状态。再次向上滑动亮度又是从百分之60左右开始的。

关于onAutoComplete()回调的问题

我现在想实现一个videoView播放我一个string数组里面的视频地址的视频
我就在onAutoComplete这个回调里面再
videoView.setUp(urls[index],true,null,"");
然后startPlayLogic

//播放完了
@OverRide
public void onAutoComplete(String s, Object... objects) {
Log.d("tag","index:"+index);
//Log.d("tag","string:"+s);这是缓存地址
if(index != urls.length -1){
index ++;
}else{
index = 0;
}
videoView.setUp(urls[index],true,null,"");
startVideo();
}
然后LOG发现我的index是有递增,这个s地址
image
算不算同一个视频?如果不算那为什么我不能在这个方法内继续播放下一个视频?
先谢谢大大!新年快乐

startWindowFullscreen()方法

c9e4e123-cd4b-403a-b770-c884f3be026f
如上图,我重写了startWindowFullscreen,但是全屏时,没有接着横屏的时间点播放。这个怎么搞?

视频缓冲问题

视频缓冲时,如果触碰了播放界面,加载动画就停止了

播放器偶然出现IllegalStateException异常

at tv.danmaku.ijk.media.player.IjkMediaPlayer._pause(Native Method)
W/System.err( 3111): at tv.danmaku.ijk.media.player.IjkMediaPlayer.pause(IjkMediaPlayer.java:514)
W/System.err( 3111): at com.shuyu.gsyvideoplayer.GSYVideoPlayer.onVideoPause(GSYVideoPlayer.java:432)

fork过来安装缺少这个方法

D:\Administrator\Github\GSYVideoPlayer\gsyVideoPlayer\src\main\java\com\shuyu\gsyvideoplayer\GSYVideoPlayer.java
Error:(1191, 63) 错误: 找不到符号
符号: 方法 getTcpSpeed()
位置: 类 IjkMediaPlayer

请问,判断全屏的问题或者是拿到当前的videoPlayer对象问题。

我现在在MainActivity中有几个fragment,第一个fragment中一个RecyclerView,这里面的一个列表中有一个视频播放,切换fragment怎么暂停视频播放?
还有在MainActivity的返回事件中怎么判断是不是需要播放器返回?
另外就是第一个fragment按Home按钮到后台,再换到前台,如何做暂停和播放动作?
最后就是ListVideo2Activity中如果换成RecyclerView在小窗口出来的时候回卡一下,没有listView流畅。

你好,能做一个连续播放的demo吗

我现在有个需求,就是在监听到当前视频播放完成后,自动开始播list里的下一个视频,我自己写了点代码试了这个功能,但是发现播放到第二个视频的时候,只有声音,播放界面是黑的,不知道怎么回事

onPlayError()方法

我需要在报错时,取到报错的当前播放时间点。能否可以取到?

HttpProxyCacheServer error com.danikula.videocache.ProxyCacheException

播放这个链接

http://120.25.226.186:32812/resources/videos/minion_01.mp4
报了这个异常。

HttpProxyCacheServer error com.danikula.videocache.ProxyCacheException: Error closing socket output stream at com.danikula.videocache.HttpProxyCacheServer.closeSocketOutput(HttpProxyCacheServer.java:294) at com.danikula.videocache.HttpProxyCacheServer.releaseSocket(HttpProxyCacheServer.java:270) at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:242) at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52) at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:337) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818) Caused by: java.net.SocketException: shutdown failed: ENOTCONN (Transport endpoint is not connected) at java.net.PlainSocketImpl.shutdownOutput(PlainSocketImpl.java:377) at java.net.Socket.shutdownOutput(Socket.java:652) at com.danikula.videocache.HttpProxyCacheServer.closeSocketOutput(HttpProxyCacheServer.java:291) at com.danikula.videocache.HttpProxyCacheServer.releaseSocket(HttpProxyCacheServer.java:270)  at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:242)  at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52)  at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:337)  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)  at java.util.concurrent.FutureTask.run(FutureTask.java:237)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)  at java.lang.Thread.run(Thread.java:818)  Caused by: android.system.ErrnoException: shutdown failed: ENOTCONN (Transport endpoint is not connected) at libcore.io.Posix.shutdown(Native Method) at libcore.io.ForwardingOs.shutdown(ForwardingOs.java:149) at java.net.PlainSocketImpl.shutdownOutput(PlainSocketImpl.java:375) at java.net.Socket.shutdownOutput(Socket.java:652)  at com.danikula.videocache.HttpProxyCacheServer.closeSocketOutput(HttpProxyCacheServer.java:291)  at com.danikula.videocache.HttpProxyCacheServer.releaseSocket(HttpProxyCacheServer.java:270)  at com.danikula.videocache.HttpProxyCacheServer.processSocket(HttpProxyCacheServer.java:242)  at com.danikula.videocache.HttpProxyCacheServer.access$200(HttpProxyCacheServer.java:52)  at com.danikula.videocache.HttpProxyCacheServer$SocketProcessorRunnable.run(HttpProxyCacheServer.java:337)  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)  at java.util.concurrent.FutureTask.run(FutureTask.java:237)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)  at java.lang.Thread.run(Thread.java:818) 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.