Android Java:无法弄清楚如何循环我的VideoView

时间:2013-02-03 02:06:18

标签: java android eclipse loops android-videoview

我有以下代码。它从我的原始资源文件夹中获取视频并启动视频,我需要它在视频结束时循环播放视频,但在经过大量艰苦的研究后,我不能在生活中找到它。

这是我的主要活动的Java代码。

package com.infernowebmedia.staircat;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.VideoView;
import android.widget.MediaController;

public class MainActivity extends Activity {

private VideoView mVideoView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mVideoView = (VideoView) findViewById(R.id.surface_view);
     mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.staircatloop));
     mVideoView.start();

}



@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

}

我见过有人试图使用setOnCompletionListener但是每当我尝试实现他们的答案中建议的代码时,我从Eclipse中得到了多个错误,不知道我做错了什么!请帮帮我:)。

〜汤姆

2 个答案:

答案 0 :(得分:1)

试试这个:

import android.media.MediaPlayer;
...
myVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
  @Override
  public void onCompletion(MediaPlayer arg0) {
    // restart on completion
    myVideoView.start();
  }
});
...
myVideoView.start();
...

答案 1 :(得分:0)

在prepardelistener类上设置为循环为true,然后在completeListener类上恢复视频, 请试试这个,

myVideoView.setOnCompletionListener(new OnCompletionListener() {

            @Override
            public void onCompletion(MediaPlayer mp) {
                myVideoView.resume();
                }
        });

        myVideoView.setOnPreparedListener(new OnPreparedListener() {

            @Override
            public void onPrepared(MediaPlayer mp) {
                mp.setLooping(true);
                myVideoView.start();                
            }
        });