0

WindowManager에서 VideoView로 비디오를 재생하려고합니다. 나는 이것을 위해 StandOutLibrary를 사용하고있다. 나는 두 가지를 제외하고 지금까지 꽤 성공적이었다.WindowManager의 VideoView가 업데이트되지 않습니다.

MediaController는 활동이 필요하기 때문에 분명히이 경우 작동하지 않습니다. 그래서 비디오 뷰를 제어하기 위해 내 사용자 정의보기를 작성했습니다. 여기

enter image description here

모든 것이 일시 정지 후 SeekBar를 제외하고 작동에서 그 결과

입니다. 비디오를 일시 중지하고 다시 시작하면 검색 바가 업데이트를 거부합니다. 다음은 seekbar를 재생/일시 중지하고 업데이트하는 코드입니다.

play.setOnClickListener(new Button.OnClickListener() { 
     public void onClick(View v) { 
      if (playing) { 
       vv.pause(); 
       play.setImageResource(R.drawable.ic_media_play); 
       playing = !playing; 
      } else { 
       vv.start(); 
       play.setImageResource(R.drawable.ic_media_pause); 
       playing = !playing; 
      } 
     } 
    }); 

    vv = (VideoView) mView.findViewById(R.id.videoView); 
    vv.setOnPreparedListener(new OnPreparedListener() { 

     @Override 
     public void onPrepared(MediaPlayer mp) { 

      sb.setMax(vv.getDuration()); 
      sb.postDelayed(onEverySecond, 60); 
     } 
    }); 

    vv.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
     public void onCompletion(MediaPlayer mp) { 
      close(id); 
     } 
    }); 

    sb = (SeekBar) mView.findViewById(R.id.sbar); 
    sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 
     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 
      vv.seekTo(sb.getProgress()); 
     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 
      vv.seekTo(sb.getProgress()); 
     } 

     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, 
       boolean fromUser) { 
      if (fromUser) { 
       vv.seekTo(progress); 
       // vv.start(); 
      } 
     } 
    }); 

내 실수는 어디에서 볼 수 있습니까?

또한 두 번째 문제는 창의 크기를 조정 한 후에 발생합니다. 일반적으로 창 크기를 조정하면 모든보기가 새 레이아웃 크기를 사용합니다. 나는 SurfaceView와 함께 이것을 시도해 봤지만 작동한다. 그러나 VideoView는 새로운 크기를 채택하지 않습니다. 다음은 창 크기를 변경 한 후의 결과입니다. enter image description here

이 두 가지에 관해 도움을 줄 수있는 사람이 있습니까? 미리 감사드립니다!

답변

0

VideoView의 래퍼로 RelativeLayout을 사용해야합니다.

참조 :click here

+0

내 VideoView를 지켜 보면서 이미 RelativeLayout의 내에 배치된다. 첫 번째 문제를 해결하는 방법을 알고 있습니까? – EatHeat

관련 문제