Próbuję użyć systemu Android VideoView, aby odtworzyćwideo wyłączone z folderu sdcard na moim urządzeniu. Wygląda na to, że kiedyś działało dobrze, ale przebudowałem trochę kodu i teraz nie mogę go uruchomić. Oto przykład:
// filepath = Environment.getExternalStorageDirectory().getPath() + "/test.mp4"
videoView = new VideoView(AkadiApplication.Instance().getApplicationContext());
videoView.setVideoURI(Uri.parse(filePath));
videoView.start();
videoView.requestFocus();
Sprawdziłem przez aplikację, że plik istnieje, więc wiem, że nie jest to problem z FileNotFound.
Ponadto, jeśli ustawię wywołanie zwrotne onComplete, zostanie ono wywołanejakby odtwarzany film (brak obrazu lub dźwięku, tylko czarny kwadrat w miejscu, w którym powinien być widok). Wiem, że kodek wideo jest prawidłowy, ponieważ urządzenie odtwarza go poza aplikacją. Myślę, że może to być związane z kwestią pozwolenia:
http://code.google.com/p/android/issues/detail?id=10197
Odpowiedzi:
0 dla odpowiedzi № 1Utwórz VideoView w pliku layout.xml
<VideoView android:id="@+id/video_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</VideoView>
A potem w pliku Java
VideoView mVideoView = (VideoView) findViewById(R.id.video_view);
mVideoView.setVideoURI(uri);
mVideoView.requestFocus();
mVideoView.start();