36323439a80dfbb633536bcb0e1197b783f95f62.svn-base
4.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
package com.ivt.android.me.ui.mfragment.seelive;
import java.util.Timer;
import java.util.TimerTask;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.SurfaceView;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import com.ivt.android.me.R;
import com.ivt.android.me.listener.ScrollListener;
import com.ivt.android.me.ui.mfragment.BaseFragment;
import com.ivt.android.me.utils.seeliveutil.KSYSeeLiveUtil;
import com.ksyun.media.player.IMediaPlayer;
/**
* @author 郎咸智
*
* 收流播放器 2016-4-22 下午1:14:11
*/
public class LiveVideoFragment extends BaseFragment {
private SurfaceView surfaceView;
// private ImageView az;
private View rootView;
private Context context;
private String url;
private Timer timer = new Timer();
private TimerTask task;
private RelativeLayout sv_re;
private ProgressBar progressBar1;
private ScrollListener listener;
@SuppressLint("ValidFragment")
public LiveVideoFragment(Context con, String url) {
// TODO Auto-generated constructor stub
this.context = con;
this.url = url;
}
@SuppressLint("ValidFragment")
public LiveVideoFragment() {
// TODO Auto-generated constructor stub
}
public ScrollListener createScrollListener() {
listener = new ScrollListener() {
@Override
public void onScroll(final float transY, final boolean goUp) {
if (LiveVideoFragment.this.isVisible() && null != rootView) {
if (goUp) {// 向上滚动
rootView.setTranslationY(-transY);
} else {// 向下滚动
rootView.setTranslationY(getDeviceHeight(getActivity())
- transY);
}
if (transY == 0) {// 强制刷新Y坐标 ----- 在此要加上停止视频播放,初始化下一次加载的操作
rootView.setTranslationY(0);
}
}
}
};
return listener;
}
public static int getDeviceHeight(Context context) {
WindowManager wm = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics mDisplayMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(mDisplayMetrics);
return mDisplayMetrics.heightPixels;
}
@Override
protected void getSaveData(Bundle savedInstanceState) {
// TODO Auto-generated method stub
}
@Override
protected View setConentView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.fragment_live_video_play, container,
false);
}
@Override
protected void findViews(View view) {
// TODO Auto-generated method stub
rootView = view.findViewById(R.id.layout_root);
surfaceView = (SurfaceView) view.findViewById(R.id.sv_video);
progressBar1 = (ProgressBar) view.findViewById(R.id.progressBar1);
sv_re = (RelativeLayout) view.findViewById(R.id.sv_re);
KSYSeeLiveUtil.getInstance().InitKSYUpLive(url, context, surfaceView);
KSYSeeLiveUtil.getInstance().GetKSYPlayer().setOnBufferingUpdateListener(new IMediaPlayer.OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(IMediaPlayer arg0, int arg1) {
// TODO Auto-generated method stub
System.out.println("1"+arg1);
}
});
KSYSeeLiveUtil.getInstance().GetKSYPlayer().setOnCompletionListener(new IMediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(IMediaPlayer arg0) {
// TODO Auto-generated method stub
System.out.println("2"+arg0);
}
});
KSYSeeLiveUtil.getInstance().GetKSYPlayer().setOnPreparedListener(new IMediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(IMediaPlayer arg0) {
// TODO Auto-generated method stub
System.out.println("3"+arg0);
}
});
KSYSeeLiveUtil.getInstance().GetKSYPlayer().setOnInfoListener(new IMediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(IMediaPlayer arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
System.out.println("4"+arg1+"====="+arg2);
sv_re.setVisibility(View.GONE);
return false;
}
});
}
@Override
protected void processLogic() {
}
@Override
public void onDestroyView() {
super.onDestroyView();
KSYSeeLiveUtil.getInstance().videoPlayEnd();
}
}