循环播放本地目录中的所有视频

时间:2018-01-03 07:17:33

标签: android video android-videoview local-files

我正在尝试在循环中播放本地目录中的所有视频。但只有第一个视频正在循环播放,网络视图无法播放。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    getInit();
    getSupportActionBar().hide();
}
public void getInit() {
    video_player_view = (VideoView) findViewById(R.id.videoView);
    media_Controller = new MediaController(this);
    dm = new DisplayMetrics();
    video_player_view.setMediaController(media_Controller);
    ActivityCompat.requestPermissions(MainActivity.this,
            new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
            REQUEST_READ_STORAGE);
    Hash_file_maps = new HashMap<String, String>();
    File file = new File("/storage/emulated/0/VIDEOS/");
    File[] listFile = file.listFiles();
    for (File f : listFile) {
        String name = f.getName();
        FilePathStrings = new String[listFile.length];
     for (int i = 0; i < listFile.length; i++) {
            if (name.endsWith(".mp4")) {
   video_player_view.setVideoPath(Hash_file_maps.put(listFile[i].getName(), listFile[i].getAbsolutePath()));

            }
        }
    }
video_player_view.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

        @Override
        public void onCompletion(MediaPlayer mp) {

            video_player_view.start();

        }
    });
}

我无法意识到我错误的地方,你能帮助我吗?

2 个答案:

答案 0 :(得分:2)

一次尝试

  //Video Loop
    video_view.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        public void onCompletion(MediaPlayer mp) {
            video_view.start(); //need to make transition seamless.
        }
    });


    Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.sample_2);
    video_view.setVideoURI(uri);
    video_view.start();

答案 1 :(得分:0)

您的代码似乎是将视频源设置为一个值,然后立即设置为另一个值,依此类推,而不是实际播放视频。

看起来你可能期待&#39; setVideoPath&#39;将所有视频添加到要播放的列表中,但文档很清楚,它只设置了一条路径:

  

setVideoPath

     

void setVideoPath(String path)

     

设置视频路径。

评论中提供的@sasikumar链接是一个很好的例子。