2013-08-20 4 views
0

Ниже мой метод для воспроизведения видео на андроид деятельности:Воспроизведение видео в 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 исключение появляется там. Я уверен, что у меня есть это видео в правильном каталоге, и оно работает, когда я играю его вручную. Но не программно! Что не так?

ответ

0

Я использовал this простое и ясное видео для воспроизведения видео. Он использует VideoView и отображает видео в этом представлении.

Красивые и легкие!