출처: http://pshology.blogspot.kr/2011/08/blog-post_9007.html
http://whitegom.tistory.com/24
앱 내에서 동영상이 재생되고 있을 때 전화가 오게 되면 동영상이 정지되고 통화가 종료되었을 때
다시 그 정지된 순간부터 다시 재생이 되어야 한다고 한다.
잘못 본건지.. 이게 제대로 되지 않으면 앱 검증시 반려된다는 댓글을 어디선가 본 것 같다..
여튼 만들려는 앱의 완성도를 위해 이 부분을 처리하려고 하는데,
동영상 재생 중에 강제로 멈추게 되는 조건이 두세개 있었다.
전화가 올 경우, 전원 버튼이 눌리는 경우.
근데 이 부분을 처리하려다 보니 두개가 엉키는 현상이 있었다.
//============================================================== {
|
import java.util.ArrayList;
import android.app.Activity;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
public class TestPlayerActivity extends Activity {
private static final String MOVIE_URL = "http://www.archive.org/download/Unexpect2001/Unexpect2001_512kb.mp4";
private ArrayList<String> array = new ArrayList<String>();
private int count;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//주소를 어레이에 추가합니다.
array.add("http://www.archive.org/download/Unexpect2001/Unexpect2001_512kb.mp4");
array.add("http://www.archive.org/download/Unexpect2001/Unexpect2001_512kb.mp4");
array.add("http://www.archive.org/download/Unexpect2001/Unexpect2001_512kb.mp4");
count = 0;
setContentView(R.layout.main);
final VideoView videoView = (VideoView) findViewById(R.id.VideoView);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
//비디오 uri등록
Uri video = Uri.parse(MOVIE_URL);
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.requestFocus();
//비디오 종료시 실행되는 리스너
MediaPlayer.OnCompletionListener mComplete = new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
//재생할 비디오가 남아있을 경우
if (array.size() > count) {
Uri video1 = Uri.parse(array.get(count).toString());
count++;
videoView.setVideoURI(video1);
videoView.start();
}
// TODO Auto-generated method stub
}
};
//리스너 등록
videoView.setOnCompletionListener(mComplete);
//비디오 시작
videoView.start();
}
}
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:orientation="vertical">
<VideoView android:layout_height="fill_parent"
android:layout_width="fill_parent" android:id="@+id/VideoView"></VideoView>
</LinearLayout>
'IT_Programming > Android_Java' 카테고리의 다른 글
TaskKiller에 죽지 않는 서비스(Service) 만들기 (0) | 2013.10.26 |
---|---|
Activity 생성시에 사용되는 Intent Flag 정리 (0) | 2013.10.18 |
안드로이드 태스크 스택 확인하기 (0) | 2013.08.19 |
Android View 관련된 오픈소스 정리 (0) | 2013.08.17 |
[Android] px 과 dip 단위 변환 (0) | 2013.08.11 |