New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

实现嵌套Listview里面时候 ,当item不可见的时候可以暂停播放 #172

Closed
wcbcslg opened this Issue Jul 2, 2016 · 8 comments

Comments

Projects
None yet
3 participants
@wcbcslg
Collaborator

wcbcslg commented Jul 2, 2016

在项目中遇到一个需求就是当listview滑动的时候,item不可见的时候可以暂停播放。
我的实现方法就是监听listview 的 OnScrollListener方法,然后通过mListview.getFirstVisiblePosition()和mListview.getLastVisiblePosition()获取当前的屏幕的上下可见的边界值,然后与我们自己的正在播放的position进行比较 ,当position < firstVisiblePosition || position > lastVisiblePosition 时,我们调用 JCVideoPlayer.releaseAllVideos()停止播放,下面贴出我实现的关键代码


mListview.setOnScrollListener(new OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView arg0, int arg1) {

            }

            @Override
            public void onScroll(AbsListView view, int firstVisibleItem,
                    int visibleItemCount, int totalItemCount) {
                int firstVisiblePosition = mListview.getFirstVisiblePosition();
                int lastVisiblePosition = mListview.getLastVisiblePosition();
                if ((indexPostion < firstVisiblePosition  || indexPostion >lastVisiblePosition) && isPlaying ) {
                    indexPostion = -1;
                    isPlaying = false;
                    JCVideoPlayer.releaseAllVideos();
                }
            }
        });

每次点击播放时给indexPostion 重新赋值

@lipangit

This comment has been minimized.

Show comment
Hide comment
@lipangit

lipangit Jul 5, 2016

Owner

目前的计划是头条没有功能都不添加到JCVideoPlayerStandard中

这个我一会调试一下 如果没问题 给它加到demo里让其他去参考

Owner

lipangit commented Jul 5, 2016

目前的计划是头条没有功能都不添加到JCVideoPlayerStandard中

这个我一会调试一下 如果没问题 给它加到demo里让其他去参考

@lipangit

This comment has been minimized.

Show comment
Hide comment
@lipangit

lipangit Jul 17, 2016

Owner

暂时不支持暂停播放

Owner

lipangit commented Jul 17, 2016

暂时不支持暂停播放

@lipangit lipangit closed this Jul 17, 2016

@Little-Huang

This comment has been minimized.

Show comment
Hide comment
@Little-Huang

Little-Huang Aug 29, 2016

@wcbcslg 遇到了同样的问题 请问一下你的这个indexPostion 是怎麽拿到的呢 作者的播放点击事件是在JCVideoPlayer中做的处理 貌似没有提供获取当前的播放位置 Thanks !

Little-Huang commented Aug 29, 2016

@wcbcslg 遇到了同样的问题 请问一下你的这个indexPostion 是怎麽拿到的呢 作者的播放点击事件是在JCVideoPlayer中做的处理 貌似没有提供获取当前的播放位置 Thanks !

@Little-Huang

This comment has been minimized.

Show comment
Hide comment
@Little-Huang

Little-Huang Aug 29, 2016

@lipangit 你好 现在也遇到了这个问题 然后因为项目包体积的显示 我们不准备集成ijkplayer 我们现在用的还是3.6.3版本 请问这个版本目前有啥简单点的方法解决这个问题呢

Little-Huang commented Aug 29, 2016

@lipangit 你好 现在也遇到了这个问题 然后因为项目包体积的显示 我们不准备集成ijkplayer 我们现在用的还是3.6.3版本 请问这个版本目前有啥简单点的方法解决这个问题呢

@lipangit

This comment has been minimized.

Show comment
Hide comment
@lipangit

lipangit Aug 29, 2016

Owner

@Little-Huang 不支持列表滑动暂停功能,正在开发列表滑动进入小窗继续播放,替代暂停

Owner

lipangit commented Aug 29, 2016

@Little-Huang 不支持列表滑动暂停功能,正在开发列表滑动进入小窗继续播放,替代暂停

@Little-Huang

This comment has been minimized.

Show comment
Hide comment
@Little-Huang

Little-Huang Aug 29, 2016

@lipangit Sorry , 可能是我没表诉清楚 其实我是想问这个异常的解决办法:

java.lang.IllegalStateException
at android.media.MediaPlayer._setVideoSurface(Native Method)
at android.media.MediaPlayer.setSurface(MediaPlayer.java:805)
at fm.jiecao.jcvideoplayer_lib.JCMediaManager$MediaHandler.handleMessage(JCMediaManager.java:104)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.os.HandlerThread.run(HandlerThread.java:61)

Little-Huang commented Aug 29, 2016

@lipangit Sorry , 可能是我没表诉清楚 其实我是想问这个异常的解决办法:

java.lang.IllegalStateException
at android.media.MediaPlayer._setVideoSurface(Native Method)
at android.media.MediaPlayer.setSurface(MediaPlayer.java:805)
at fm.jiecao.jcvideoplayer_lib.JCMediaManager$MediaHandler.handleMessage(JCMediaManager.java:104)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.os.HandlerThread.run(HandlerThread.java:61)

@lipangit

This comment has been minimized.

Show comment
Hide comment
@lipangit

lipangit Aug 29, 2016

Owner

这个问题以前确实会有,在setDisplay的时候Textureview被销毁了,还不知道是什么原因,但是4.*版本自己就好了

Owner

lipangit commented Aug 29, 2016

这个问题以前确实会有,在setDisplay的时候Textureview被销毁了,还不知道是什么原因,但是4.*版本自己就好了

@Little-Huang

This comment has been minimized.

Show comment
Hide comment
@Little-Huang

Little-Huang Aug 29, 2016

@lipangit 如果真不行的话 只能升到4.x了, Thanks !

Little-Huang commented Aug 29, 2016

@lipangit 如果真不行的话 只能升到4.x了, Thanks !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment