Я пытаюсь использовать Android VideoView для воспроизведения видео с папки sdcard на моем устройстве. Похоже, что он работал нормально, но я реорганизовал какой-то код, и теперь я не могу заставить его работать. Вот пример:
// filepath = Environment.getExternalStorageDirectory().getPath() + "/test.mp4"
videoView = new VideoView(AkadiApplication.Instance().getApplicationContext());
videoView.setVideoURI(Uri.parse(filePath));
videoView.start();
videoView.requestFocus();
Я проверял через приложение, что файл существует, поэтому я знаю, что это не проблема FileNotFound.
Кроме того, если я устанавливаю обратный вызов onComplete, он вызывается, как если бы видео воспроизводилось (нет видео или звука, просто черный квадрат, где должно быть изображение). Я знаю, что видеокодек действителен, потому что устройство воспроизводит его вне моего приложения. Я думаю, это может быть связано с проблемой разрешения:
Создайте VideoView в файле layout.xml
<VideoView android:id="@+id/video_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</VideoView>
А затем в java файле
VideoView mVideoView = (VideoView) findViewById(R.id.video_view);
mVideoView.setVideoURI(uri);
mVideoView.requestFocus();
mVideoView.start();
videoView = new VideoView(AkadiApplication.this);
Также, как вы добавляете videoView на экран? только с кодом, который вы опубликовали, я не вижу, как VideoView даже будет добавлен на экран.