Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从目录中读取、加载和播放视频_Android_Video_Directory_Load - Fatal编程技术网

Android 如何从目录中读取、加载和播放视频

Android 如何从目录中读取、加载和播放视频,android,video,directory,load,Android,Video,Directory,Load,我正在尝试创建一个应用程序,从目录中读取mp4文件,然后播放 我有这个: public class MainActivity extends Activity { Random r = new Random(); List<String> videoPathes = new ArrayList<String>(); int i=r.nextInt(3-0); private VideoView videoview; @Override protected void on

我正在尝试创建一个应用程序,从目录中读取mp4文件,然后播放

我有这个:

public class MainActivity extends Activity {

Random r = new Random();
List<String> videoPathes = new ArrayList<String>();
int i=r.nextInt(3-0);
private VideoView videoview;
@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    videoview = (VideoView) findViewById(R.id.videoView_video);
    videoPathes.add(Environment.getExternalStorageDirectory().getAbsolutePath()+"/myapp/intro1.mp4");
    videoPathes.add(Environment.getExternalStorageDirectory().getAbsolutePath()+"/myapp/intro2.mp4");
    videoPathes.add(Environment.getExternalStorageDirectory().getAbsolutePath()+"/myapp/intro3.mp4");



    videoview.setVideoPath(videoPathes.get(i));
    videoview.start();

    videoview.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        public void onCompletion(final MediaPlayer mp){
            i = (i + 1) % videoPathes.size();

            videoview.setVideoPath(videoPathes.get(i));
            videoview.start();
        }
    });

}
}
公共类MainActivity扩展活动{
随机r=新随机();
列表视频路径=新的ArrayList();
int i=r.nextInt(3-0);
私人视频视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
videoview=(videoview)findviewbyd(R.id.videoview\u video);
add(Environment.getExternalStorageDirectory().getAbsolutePath()+“/myapp/intro1.mp4”);
add(Environment.getExternalStorageDirectory().getAbsolutePath()+“/myapp/intro2.mp4”);
add(Environment.getExternalStorageDirectory().getAbsolutePath()+“/myapp/intro3.mp4”);
videoview.setVideoPath(videopaths.get(i));
videoview.start();
videoview.setOnCompletionListener(新的MediaPlayer.OnCompletionListener(){
完成后公开作废(最终MediaPlayer mp){
i=(i+1)%videopaths.size();
videoview.setVideoPath(videopaths.get(i));
videoview.start();
}
});
}
}
但是路径包含在应用程序中。。我不需要,因为每次添加新视频时,我都必须更新应用程序。。。所以这是不实际的

有什么想法吗?。。。请帮忙,这对我很重要

注意:保持随机“函数”的顺序(总是第一位)很重要


谢谢。

请参阅以下链接,了解如何在外部存储器上读取视频。您不能播放视频吗?或者,您是否正在尝试了解如何在不更新应用程序的情况下向此列表显示添加视频?我不清楚你的实际问题是什么。我需要在应用程序中加载视频,而不在应用程序中写入路径。只需更新目录中的视频,应用程序就会读取它们。