Android - не удалось воспроизвести видео - PullRequest
0 голосов
/ 29 октября 2018
public class Tutorial extends AppCompatActivity {

    VideoView mVideoView;
    ListView mListView;
    TextView mTitle, mContent;
    ArrayList<String> videoList;
    ArrayAdapter adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tutorial);

        mVideoView = (VideoView) findViewById(R.id.videoTutorial);
        mListView = (ListView)findViewById(R.id.listView);
        mTitle = (TextView)findViewById(R.id.tutorialTitle);
        mContent = (TextView)findViewById(R.id.tutorialContent);

        videoList = new ArrayList<>();
        videoList.add("Video 1");
        videoList.add("Video 2");
        videoList.add("Video 3");
        videoList.add("Video 4");
        videoList.add("Video 5");


        adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,videoList);
        mListView.setAdapter(adapter);

        mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                switch (position){
                    case 0:
                        mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.scm));
                        break;
                    case 1:
                        mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.videopart5));
                        break;
                    case 2:
                        mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" +  R.raw.videopart1));
                        break;
                    case 3:
                        mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" +  R.raw.videopart2));
                        break;
                    case 4:
                        mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" +  R.raw.videopart3));
                        break;
                    case 5:
                        mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" +  R.raw.videopart4));
                        break;
                    default:
                        break;
                }
                mVideoView.setMediaController(new MediaController(Tutorial.this));
                mVideoView.requestFocus();
                mVideoView.start();
            }
        });

    }
}

Я новичок в Android, теперь я пытаюсь создать прокручиваемый VideoView с ListView. Я учился на многих других ресурсах и сайтах. Нет ошибки при компиляции.

Структура выглядит хорошо, но когда я нажал на «Видео 1», он показывает «Не могу воспроизвести это видео». Есть ли ошибки в кодах?

1 Ответ

0 голосов
/ 29 октября 2018

Вы должны попробовать это:

// To create the media controller (play, pause, etc.)
MediaController myController = new MediaController(this);

// To link the media controller to the video view.
myController.setAnchorView(mVideoView);

// To link the video view to the media controller.
mVideoView.setMediaController(myController);

//To get the 
mVideoView.requestFocus();

// To autoplay on opening.
mVideoView.start();
...