循环播放本地目录中的所有视频
Posted
技术标签:
【中文标题】循环播放本地目录中的所有视频【英文标题】:Play all videos from local directory in a loop 【发布时间】:2018-01-03 07:17:33 【问题描述】:我正在尝试。但只有第一个视频在循环播放,网络视图没有播放。
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();
);
我无法意识到我在哪里做错了,请你帮帮我。
【问题讨论】:
参考***.com/questions/35775722/… 【参考方案1】:一次尝试
//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();
【讨论】:
它只剪掉一个视频【参考方案2】:您的代码似乎正在将视频源设置为一个值,然后立即设置为另一个值,依此类推,循环中没有实际播放视频。
看起来您可能期望“setVideoPath”将所有视频添加到要播放的列表中,但文档很清楚它只设置了一个路径:
设置视频路径
void setVideoPath(字符串路径)
设置视频路径。
cmets 中提供的链接@sasikumar 是一个很好的例子。
【讨论】:
以上是关于循环播放本地目录中的所有视频的主要内容,如果未能解决你的问题,请参考以下文章