package android.marshon.likequanmintv.mvp.live.ui; import android.content.pm.ActivityInfo; import android.marshon.likequanmintv.R; import android.marshon.likequanmintv.bean.PlayBean; import android.marshon.likequanmintv.controller.LivePlayerHolder; import android.marshon.likequanmintv.controller.RoomDataController; import android.marshon.likequanmintv.mvp.live.LivePlayerPresenterImpl; import android.marshon.likequanmintv.utils.blur.Blurry; import android.marshon.likequanmintv.view.LoadindImageView; import android.os.Bundle; import android.view.SurfaceView; import android.view.View; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.bumptech.glide.load.resource.drawable.GlideDrawable; import com.bumptech.glide.request.target.ImageViewTarget; import org.json.JSONObject; import javax.inject.Inject; /** * Created by It.Marshon on 2016/11/28 0028 14:30 */ public class VerFullLiveUI extends BaseLiveUI { private SurfaceView mSurfaceView; private LivePlayerHolder playerHolder; private PlayBean mPlayBean; @Inject LivePlayerPresenterImpl livePlayerPresenterImpl; private int mCodec; private RoomDataController mRoomDataController; private String mPlayerPath; private ImageView bgImg; private ImageView imgBack; private LoadindImageView loadingView; @Override protected void onCreate(Bundle savedInstanceState) { super.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); super.onCreate(savedInstanceState); setContentView(R.layout.activity_verfulllive); mActivityComponent.inject(this); livePlayerPresenterImpl.attachView(this); initPlayer(); initControll(); initData(); } private void initPlayer() { mPlayBean = (PlayBean) getIntent().getSerializableExtra("playBean"); mSurfaceView = (SurfaceView) findViewById(R.id.mSurfaceView); bgImg = (ImageView) findViewById(R.id.bgImg); loadingView = (LoadindImageView) findViewById(R.id.loadingView); imgBack = (ImageView) findViewById(R.id.imgBack); imgBack.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } }); mCodec = getIntent().getIntExtra("mediaCodec", 0); // mVideoPath = getIntent().getStringExtra("videoPath"); } private void initControll() { } private void initData() { if (mPlayBean!=null){ livePlayerPresenterImpl.enterRoom(mPlayBean.uid); } Glide.with(this) .load(mPlayBean.love_cover) .into(new ImageViewTarget<GlideDrawable>(bgImg) { @Override protected void setResource(GlideDrawable resource) { bgImg.setImageDrawable(resource); Blurry.with(VerFullLiveUI.this) .animate() .radius(10) .sampling(8) .capture(bgImg) .into(bgImg); } }); } @Override protected void onDestroy() { if (playerHolder!=null) { playerHolder.release(); playerHolder=null; } super.onDestroy(); } @Override protected void onResume() { super.onResume(); if (playerHolder!=null) playerHolder.onResume(); } @Override protected void onPause() { super.onPause(); if (playerHolder!=null) playerHolder.onPause(); } @Override protected void toPrepare() { if (playerHolder!=null) playerHolder.prepare(); } @Override public void onConnecting() { bgImg.setAlpha(1); bgImg.setVisibility(View.VISIBLE); loadingView.setVisibility(View.VISIBLE); } @Override public void onReConnecting() { bgImg.setAlpha(1); bgImg.setVisibility(View.VISIBLE); loadingView.setVisibility(View.VISIBLE); } @Override public void onConnectSucces() { loadingView.setVisibility(View.GONE); } @Override public void onConnectFailed() { } @Override public void onPlayComleted() { } @Override public void onPlayerStart() { loadingView.setVisibility(View.GONE); bgImg.animate().alpha(0).setDuration(1000).start(); // bgImg.setVisibility(View.GONE); } @Override public void onPlayePause() { } @Override public void onRoomData(JSONObject roomJson) { mRoomDataController = new RoomDataController(roomJson); mPlayerPath = mRoomDataController.getPlayerPath(0); playerHolder = new LivePlayerHolder(this,mSurfaceView,mCodec,mPlayerPath); playerHolder.startPlayer(); } }