如何在 VideoView 中一个接一个地播放多个视频 android
how to play multiple video one by one in VideoView in android
public class PlayMultipleVide extends Activity {
VideoView videoView;
@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.multiplevideo);
videoView=(VideoView) findViewById(R.id.videoview);
MediaController mediaController= new MediaController(this);
mediaController.setAnchorView(videoView);
List<String> filedata=GetFiles("/storage/emulated/0/Android/data/com.example.android.camera2video/files");
//specify the location of media file
Uri uri=Uri.parse("/storage/emulated/0/Android/data/com.example.android.camera2video/files/"+filedata.get(0));
//Setting MediaController and URI, then starting the videoView
videoView.setMediaController(mediaController);
videoView.setVideoURI(uri);
videoView.requestFocus();
videoView.start();
}
public static ArrayList<String> GetFiles(String DirectoryPath) {
ArrayList<String> MyFiles = new ArrayList<>();
File f = new File(DirectoryPath);
f.mkdirs();
File[] files = f.listFiles();
if (files.length == 0)
return null;
else {
for (File file : files) MyFiles.add(file.getName());
}
return MyFiles;
}
}
这是我的代码。我有一个文件夹文件。里面有 5 个视频,我想在 VideoView 中一一播放。我不知道如何在 videoview 中一次一个地播放视频。请建议我。
尝试将 listener 设置为您的 videoView:
void setOnCompletionListener (MediaPlayer.OnCompletionListener l)
MediaPlayer.OnCompletionListener 会告诉您视频到达 EOS(流结束)的时间。然后用新的视频 Uri 重新开始播放。继续这样做,直到列表中有 uris (List filedata)。
public class PlayMultipleVide extends Activity {
VideoView videoView;
@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.multiplevideo);
videoView=(VideoView) findViewById(R.id.videoview);
MediaController mediaController= new MediaController(this);
mediaController.setAnchorView(videoView);
List<String> filedata=GetFiles("/storage/emulated/0/Android/data/com.example.android.camera2video/files");
//specify the location of media file
Uri uri=Uri.parse("/storage/emulated/0/Android/data/com.example.android.camera2video/files/"+filedata.get(0));
//Setting MediaController and URI, then starting the videoView
videoView.setMediaController(mediaController);
videoView.setVideoURI(uri);
videoView.requestFocus();
videoView.start();
}
public static ArrayList<String> GetFiles(String DirectoryPath) {
ArrayList<String> MyFiles = new ArrayList<>();
File f = new File(DirectoryPath);
f.mkdirs();
File[] files = f.listFiles();
if (files.length == 0)
return null;
else {
for (File file : files) MyFiles.add(file.getName());
}
return MyFiles;
}
}
这是我的代码。我有一个文件夹文件。里面有 5 个视频,我想在 VideoView 中一一播放。我不知道如何在 videoview 中一次一个地播放视频。请建议我。
尝试将 listener 设置为您的 videoView:
void setOnCompletionListener (MediaPlayer.OnCompletionListener l)
MediaPlayer.OnCompletionListener 会告诉您视频到达 EOS(流结束)的时间。然后用新的视频 Uri 重新开始播放。继续这样做,直到列表中有 uris (List filedata)。