반응형
[android] VideoView 를 사용하는 경우 progress hide timing. |
참조 : https://plus.google.com/+ArneStockmans/posts/FFE8PrWiPyq
-
API Level 1 부터 사용할 수 있는 VideoView 라는 녀석이 있다.
-
MediaPlayer 의 내용물을 Rendering 시키는 SurfaceView 를 상속한 녀석이다.
-
SDK 17 부터는 OnInfoListener 를 달아놓으면, 실제 Rendering 이 시작될 때 What 으로 MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START 가 온다.
이 때 progressbar 를 hide 시켜주는 것이 hide 시키는 최적의 타이밍이다.
이 때 progressbar 를 hide 시켜주는 것이 hide 시키는 최적의 타이밍이다.
-
SDK 17 이전에는 setOnPreparedListener 가 호출되었을 때 호출해주는 방법밖에 없었다.
이 때 progressbar 를 hide 시켜주면, 실제 rendering 과의 시간차가 조금 발생한다.
SDK 17 이전에는 setOnPreparedListener 가 호출되었을 때 호출해주는 방법밖에 없었다.
이 때 progressbar 를 hide 시켜주면, 실제 rendering 과의 시간차가 조금 발생한다.
prepared 는 loading 이 끝난 것만을 이야기하기 때문이다.
-
-
아래와 같이 버전분기해서 사용하면 되겠다.
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
if (Build.VERSION.SDK_INT < 17) {
mProgressBar.setVisibility(View.GONE);
}
}
});
if (Build.VERSION.SDK_INT >= 17) {
mVideoView.setOnInfoListener(new MediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
if (what == MediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START) {
mProgressBar.setVisibility(View.GONE);
}
return false;
}
});
}
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] Useful ADB commands (0) | 2015.12.12 |
---|---|
[Android] App Performance Tuning Video (0) | 2015.12.11 |
[android] 강추 Graph open source library (0) | 2015.12.09 |
[android] face detect and cropper (0) | 2015.12.08 |
[android] webview 에서 파일 업로드하기 (0) | 2015.12.07 |
댓글