如何从图库中选择视频并将所选视频图标设置为ImageView

时间:2013-12-11 08:15:26

标签: android gallery onactivityresult video-gallery

使用Gallery中的图片成功执行此技术 但我想为音频和视频实现相同的功能。 代码是

public void video(View v)
{
    Intent i = new Intent(Intent.ACTION_PICK,
            android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
    RESULT_LOAD_VIDEO = 1;
    startActivityForResult(i, RESULT_LOAD_VIDEO);
}   
public void audio(View v)
{
    Intent i = new Intent(Intent.ACTION_PICK,
            android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI);
    RESULT_LOAD_AUDIO = 1;
    startActivityForResult(i, RESULT_LOAD_AUDIO);
}

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



      if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK &&null != data)
      {
          Uri selectedImage = data.getData(); String[]
      filePathColumn = { MediaStore.Images.Media.DATA };

      Cursor cursor = getContentResolver().query(selectedImage,filePathColumn, null, null, null);
      cursor.moveToFirst();

      int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
      String picturePath = cursor.getString(columnIndex); cursor.close();

      // String picturePath contains the path of selected Image

      NewPoll.flag++;
      Path.patha= picturePath;
      Intent ints=new  Intent(getApplicationContext(),NewPoll.class);
      ints.putExtra("address",picturePath);
      ints.putExtra("option",comingData);
      startActivity(ints); 
      }


      if (requestCode == RESULT_LOAD_VIDEO && resultCode == RESULT_OK &&null != data)
      {
          Uri selectedVideo= data.getData(); String[]
      filePathColumn = { MediaStore.Video.Media.DATA };

      Cursor cursor = getContentResolver().query(selectedVideo,filePathColumn, null, null, null);
      cursor.moveToFirst();

      int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
      String videoPath = cursor.getString(columnIndex); cursor.close();

      // String picturePath contains the path of selected Image

      NewPoll.flag++;
      Path.patha= videoPath;
      Intent ints=new  Intent(getApplicationContext(),NewPoll.class);
      ints.putExtra("address",videoPath);
      ints.putExtra("option",comingData);
      startActivity(ints); 
      }




      if (requestCode == RESULT_LOAD_AUDIO && resultCode == RESULT_OK &&null != data)
      {
          Uri selectedAudio= data.getData(); String[]
      filePathColumn = { MediaStore.Audio.Media.DATA };

      Cursor cursor = getContentResolver().query(selectedAudio,filePathColumn, null, null, null);
      cursor.moveToFirst();

      int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
      String audioPath = cursor.getString(columnIndex); cursor.close();

      // String picturePath contains the path of selected Image

      NewPoll.flag++;
      Path.patha= audioPath;
      Intent ints=new  Intent(getApplicationContext(),NewPoll.class);
      ints.putExtra("address",audioPath);
      ints.putExtra("option",comingData);
      startActivity(ints); 
      }

}

我在照片库方面取得了成功但却不知道如何使用视频和音频库 来自你方的代码是适当的! 感谢

1 个答案:

答案 0 :(得分:0)

//from this u get all audio 
    private void getallaudio()
    {

        String[] STAR = { "*" };


        Cursor audioCursor = ((Activity) cntx).managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, STAR, null, null, null);
        if (audioCursor != null) 
        {
            if (audioCursor.moveToFirst()) 
            {
                do 
                {

                    String path = audioCursor.getString(audioCursor.getColumnIndex(MediaStore.Audio.Media.DATA));
                    controller.audioWrapper.add(new MediaWrapper(new File(path).getName(), path, "Audio",false,color_string));
//                    Log.i("Audio Path",path);
                }while (audioCursor.moveToNext());

            }
//            audioCursor.close();
        }
    }

    //from this u get all video
    private void getallvideo()
    {
         String[] STAR = { "*" };


        controller.videoWrapper.clear();
        Cursor videoCursor = ((Activity) cntx).managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, STAR, null, null, null);
        if (videoCursor != null) 
        {
            if (videoCursor.moveToFirst()) 
            {
                do 
                {


                    String path = videoCursor.getString(videoCursor.getColumnIndex(MediaStore.Images.Media.DATA));
                    controller.videoWrapper.add(new MediaWrapper(new File(path).getName(), path, "Video",false,color_string));
//                    Log.i("Video Path",path);
                }while (videoCursor.moveToNext());

            }
//            videoCursor.close();
        }
    }