이번 프로젝트에서 사용한 연속플레이어 입니다.
플레이어에 종료 리스너를 등록하여 종료 직전에 남아있는 동영상을 체크하고 있으면 다음동영상을 재생하는 간단한 코드입니다.
해당 테스트코드를 가지고 기능을 좀더 추가하고 예외처리를 했는데요. 아래에 있는 코드만으로도 실행은 가능합니다.
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>
'Android' 카테고리의 다른 글
android activity사이에 검은 line생길 때 (activity 테마설정) && 엑티비티 테마 style코드 (0) | 2012.06.14 |
---|---|
안드로이드 멀티 스크린 엑티비티 ( 한화면에서 여러 엑티비티 제어하기 ) (0) | 2012.01.17 |
암시적 인텐트와 명시적 인텐트 (0) | 2012.01.13 |
외부 어플이랑 연결하기, 암시적 인텐트 ( 외부 메신저, 메일 이용하기 ) (0) | 2012.01.13 |
리스트뷰 해더와 푸터 ( 리스트뷰 첫부분 마지막부분 붙이기 ) (0) | 2012.01.12 |