2017-01-12 2 views
0

В настоящее время я использую FloatingActionButton, чтобы открыть галерею и позволить пользователю выбрать видео, как только видео было выбрано, оно открывается в видеовизу.Android - Сохранение видео во внутреннем хранилище

public class Activity extends AppCompatActivity { 
    private static final int pick = 100; 
    Uri videoUri; 
    VideoView videoview; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity); 

     videoview = (VideoView) findViewById(R.id.videoview); 

     FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       openGallery(); 

      } 


     }); 
    } 

    private void openGallery() { 
     Intent intent = new Intent(Intent.ACTION_PICK,  MediaStore.Video.Media.EXTERNAL_CONTENT_URI); 
     startActivityForResult(intent, pick); 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data)  { 
     super.onActivityResult(requestCode, resultCode, data); 
     if (resultCode == RESULT_OK && requestCode == pick) { 
      videoUri = data.getData(); 
      videoview.setVideoURI(videoUri); 
      videoview.start(); 

     } 

    } 

Я хочу сохранить видео на внутреннее хранилище после его выбора пользователем?

+1

Вот ответ вашего Вопроса. Перейдите по этой ссылке. http://stackoverflow.com/questions/9033710/capture-a-video-and-store-it-at-a-specific-location-rather-than-a-default-locati –

ответ

0
private File saveInInternalStorage(Uri videoUri) { 

    Bitmap finalBitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), videoUri); 
    File file=null; 
    FileOutputStream outputStream; 
    try { 
     Random generator = new Random(); 
     int n = 10000; 
     n = generator.nextInt(n); 
     file = new File(getCacheDir(), "MyCache"+n); 

     FileOutputStream out = new FileOutputStream(file); 
     finalBitmap.compress(Bitmap.CompressFormat.PNG, 90, out); 
     out.flush(); 
     out.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return file; 
} 
Смежные вопросы