36323439a80dfbb633536bcb0e1197b783f95f62.svn-base 4.3 KB
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();
	}

}