映画の URL の配列リストを作成します (例)定数を次のようにyourURLList
定義します。int
static final int VIDEO_PLAYBACK_FINISHED = 32
次のように、どのビデオが再生されているかを追跡するためにカウントを維持できます。
static int VIDEO_RUNNING = 0
呼び出し元アクティビティ内に次のようなメソッドを作成します。
private void startMovie(int serialOfMovie){
String vdoURL= yourURLList.get(serialOfMovie);//array list of movie urls
if(vdoURL != null)
{
//video url for that index is found,if not then it would not enter here
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(vdoURL), "video/mp4");
startActivityForResult(intent,
VIDEO_PLAYBACK_FINISHED);
}
}
そして、呼び出し側アクティビティ (作成しているインテントを呼び出すアクティビティ) 内に、次のスニペットを追加することを忘れないでください。
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == VIDEO_PLAYBACK_FINISHED) {
if (resultCode == RESULT_OK) {
//one video is finished
VIDEO_RUNNING++; //increase which vdo is running count
startMovie(VIDEO_RUNNING);
}
}
}
この一連の映画を(最初から)再生しようとしているときは、次のように呼び出します。startMovie(VIDEO_RUNNING);//VIDEO_RUNNING is 0 initially,so it will point the first url in url list.
アクティビティでムービーを再生するためにMediaPlayerを使用している場合(ムービーの URL を含むインテントを使用して呼び出すもの) を覚えておいてください。ムービーの再生が終了したらfinish
、そのアクティビティを実行する必要があります。そのアクティビティで呼び出されたMediaPlayerインスタンスがある場合のように、これを行う必要があります。mPlayer
mPlayer.setOnCompletionListener(new
OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer arg0) {
finish();
}
});
このようにして、映画が次々と再生されるキュー効果が得られます。