小编Dar*_*ppi的帖子

Android VideoView - 如何按顺序播放视频

我正在尝试开发一个在一个视频视图中播放多个视频的Android应用程序.当一个完成后,第二个必须启动,依此类推.

我的视频存储在项目的原始文件夹中,以获取我的文件名:

Field[] fields = R.raw.class.getFields();

        final List<String> videoNames = new ArrayList<String>() ;

        for(Field field: fields){
            videoNames.add(field.getName());
        }
Run Code Online (Sandbox Code Playgroud)

然后我设置第一个路径到我的视频视图

 videoUri = Uri.parse("android.resource://" + getActivity().getPackageName() + "/" 
                            + videoNames.get(0));

myVideoView.setVideoURI(videoUri);
Run Code Online (Sandbox Code Playgroud)

发挥其他人

    myVideoView.setOnCompletionListener(new   MediaPlayer.OnCompletionListener() {

            @Override
            public void onCompletion(MediaPlayer mp) {


                 videoUri = Uri.parse("android.resource://" + getActivity().getPackageName() + "/" 
                            + videoNames.get(VideoI));
                 myVideoView.setVideoURI(videoUri);

                 myVideoView.start();

                 if(VideoI==videoNames.size()-1)
                 {
                     VideoI=0;
                 }
                 else{
                     VideoI++;
                 }
            }
        });
Run Code Online (Sandbox Code Playgroud)

但...

每当我在真实设备中尝试此代码时,我在第一个视频完成时会收到相同的错误"无法播放视频"...

所有的视频都是.mp4文件,用我用于开发的相同设备录制...

有任何想法吗?或其他方式按顺序播放更多视频?我到处寻找解决方案,但我找不到它..

编辑

做到了!!好的..错误是如此愚蠢..谢谢大家的有用答案.

错误发生在我正在寻找的路径上("这些不是你寻找的路径".)

正如我写的,视频存储在原始文件夹中..我正在使用

 videoUri = Uri.parse("android.resource://" + MainActivity.ctx.getPackageName() + "/
                                    + videoNames.get(VideoI));
Run Code Online (Sandbox Code Playgroud)

在路径中添加原始文件夹

videoUri = Uri.parse("android.resource://" …
Run Code Online (Sandbox Code Playgroud)

video android android-videoview

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

android-videoview ×1

video ×1