2013-02-18 4 views
2

Мое приложение записывает видео с помощью камеры телефона, и я добавляю URI видео в String типа ArrayList, вот мой код добавления видео URI в список.Как воспроизвести записанное видео на моем собственном медиаплеере, используя URI записанного видео в Android?

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
     { 
      super.onActivityResult(requestCode, resultCode, data); 

      if (resultCode == RESULT_OK) 
      { 
       if (requestCode == REQUEST_VIDEO_CAPTURED) 
       { 
        uriVideo = data.getData(); 

        cameraVideoList.add(uriVideo.toString()); 
        adapter.notifyDataSetChanged(); 
       } 
      } 
     } 

Я передаю видео URI (content://media/external/video/media/60) к моему Media Player для воспроизведения записанного видео, но медиа плеер не воспроизводит видео. Вот код моего медиаплеера.

public class PlayVideoCamera extends Activity 
{ 
    private static ProgressDialog progressDialog; 
    VideoView videoView ; 

    String videoURI =null; 

    protected void onCreate(Bundle savedInstanceState) 
    { 

      super.onCreate(savedInstanceState); 


      requestWindowFeature(Window.FEATURE_NO_TITLE); 
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); // Fixed 
      getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // orientation 

      setContentView(R.layout.videoview); 

      videoView = (VideoView) findViewById(R.id.video_view); 



       Bundle bundle = getIntent().getExtras(); 
       videoURI= bundle.getString("VideoURI"); 

       progressDialog = ProgressDialog.show(PlayVideoCamera.this, "", "Loading...",true); 
       progressDialog.setCancelable(true); 

       PlayVideo(); 

//  setContentView(videoView); 
    } 
    private void PlayVideo() 
    { 
      try 
      {  
       getWindow().setFormat(PixelFormat.TRANSLUCENT); 
       MediaController mediaController = new MediaController(PlayVideoCamera.this); 
       mediaController.setAnchorView(videoView);   


       // Toast.makeText(getApplicationContext(), "Video:\t"+videoIndex, Toast.LENGTH_LONG).show(); 

       Uri video = Uri.parse(videoURI);   
       videoView.setMediaController(mediaController); 

       videoView.setVideoURI(video); 
       videoView.requestFocus();    
       videoView.setOnPreparedListener(new OnPreparedListener() 
       { 

         public void onPrepared(MediaPlayer mp) 
         {     
          progressDialog.dismiss(); 
          videoView.start(); 
         } 
       }); 

      } 
      catch(Exception e) 
      { 
       progressDialog.dismiss(); 
       System.out.println("Video Play Error :"+e.toString()); 
       finish(); 
      } 

    } 

} 

Пожалуйста, помогите мне воспроизвести записанное видео, я буду очень благодарен вам.

ответ

1

URI содержит имя протокола, а не ключевое слово «content». Вы можете попробовать файл: // или поток через интернет Http: //

Попробуйте этот URI файл: /// медиа/внешние/видео/СМИ/60

Смежные вопросы