Ниже мой метод для воспроизведения видео на андроид деятельности:Воспроизведение видео в Android 4.1 не работает
public void playVideo(String path, String fileName, boolean autoplay){
//get current window information, and set format, set it up differently, if you need some special effects
try{
Log.d("Zaid Log", "There we go...");
Toast.makeText(getApplicationContext(),"setting format..." , Toast.LENGTH_SHORT).show();
Log.d("Zaid Log", "setting format...");
getWindow().setFormat(PixelFormat.TRANSLUCENT);
//the VideoView will hold the video
Toast.makeText(getApplicationContext(), "holding videoView...", Toast.LENGTH_SHORT).show();
Log.d("Zaid Log", "holding videoView...");
VideoView videoHolder = new VideoView(this);
//MediaController is the ui control howering above the video (just like in the default youtube player).
Toast.makeText(getApplicationContext(), "setting media controller...", Toast.LENGTH_SHORT).show();
Log.d("Zaid Log", "setting media controller...");
videoHolder.setMediaController(new MediaController(this));
//assing a video file to the video holder
Toast.makeText(getApplicationContext(), "parsing file path", Toast.LENGTH_SHORT).show();
Log.d("Zaid Log", "parsing file path");
videoHolder.setVideoURI(Uri.parse(path+"/"+fileName));
//get focus, before playing the video.
Toast.makeText(getApplicationContext(), "requesting focus", Toast.LENGTH_SHORT).show();
Log.d("Zaid Log", "requesting focus");
videoHolder.requestFocus();
if(autoplay){
Toast.makeText(getApplicationContext(), "starting video...", Toast.LENGTH_SHORT).show();
Log.d("Zaid Log", "starting video...");
videoHolder.start();
}
} catch(Exception e){Log.e("Zaid Log", e.getMessage()); e.printStackTrace();
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
}
}
В моем onCreate()
методе, я призываю выше метод с помощью:
playVideo("storage/sdcard0/Download","Wonders_of_Nature.mp4",true);
При запуске приложения на моем устройстве Android, я вижу, все тосты, которые:
"setting format..."
"holding videoView..."
"setting media controller..."
"parsing file path"
"requesting focus"
"starting video..."
и п o исключение появляется там. Я уверен, что у меня есть это видео в правильном каталоге, и оно работает, когда я играю его вручную. Но не программно! Что не так?