Example #1
0
 public void pause() {
   if (!state.equals(VideoState.start)) {
     return;
   }
   state = VideoState.pause;
   if (mp != null) {
     mp.pause();
   }
   ivStart.setVisibility(View.VISIBLE);
   ivStop.setVisibility(View.VISIBLE);
   ivPause.setVisibility(View.INVISIBLE);
 }
Example #2
0
 public void start() {
   if (state.equals(VideoState.start)) {
     return;
   }
   if (null == mp) {
     prepare();
   }
   state = VideoState.start;
   ivStart.setVisibility(View.INVISIBLE);
   ivStop.setVisibility(View.VISIBLE);
   ivPause.setVisibility(View.VISIBLE);
   startVideoPlayback();
 }
Example #3
0
 public void stop() {
   if (state.equals(VideoState.stop)) {
     return;
   }
   state = VideoState.stop;
   if (mp != null) {
     mp.stop();
     mp.release();
     mp = null;
   }
   mIsVideoSizeKnown = false;
   ivStart.setVisibility(View.VISIBLE);
   ivStop.setVisibility(View.INVISIBLE);
   ivPause.setVisibility(View.INVISIBLE);
 }
Example #4
0
  private void startVideoPlayback() {
    if (mIsVideoReadyToBePlayed && mIsVideoSizeKnown && state.equals(VideoState.start)) {
      if (null == sv) {
        sv = new SurfaceView(getContext());
        LayoutParams lp = ViewUtils.setRelativeMargins(sv, mVideoWidth, mVideoHeight);
        lp.addRule(CENTER_VERTICAL);
        lp.addRule(CENTER_HORIZONTAL);

        ((ViewGroup) findViewById(R.id.rlOptionVideoBg)).addView(sv, 0);

        SurfaceHolder h = sv.getHolder();
        sv.getHolder().setFixedSize(mVideoWidth, mVideoHeight);
        h.addCallback(
            new Callback() {

              @Override
              public void surfaceDestroyed(SurfaceHolder holder) {}

              @Override
              public void surfaceCreated(SurfaceHolder holder) {
                mIsVideoCreated = true;
                startVideoPlayback();
              }

              @Override
              public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
            });
        return;
      }
      if (!mIsVideoCreated) {
        return;
      }
      mp.start();
      mp.setDisplay(sv.getHolder());
      //    		sv.setVisibility(View.VISIBLE);
    }
  }