1

Ich nehme ein Video mit meiner Android-Anwendung auf. Wenn ich versuche, das Video aus dem Pfad nach der Aufnahme zu lesen, habe ich nicht die gesamte aufgenommene Datei erhalten. aber nach einiger Zeit kann ich die vollständige Datei lesen. Ich weiß nicht, was das Problem ist? bitte helfen. Hier ist mein CodeAufgezeichnetes Video Kann die Datei nicht sofort von der Location lesen?

versuchen { videoFile = getOutputMediaFile (MEDIA_TYPE_VIDEO); videothumb = neue Datei (getOutputMediaThumbFile (MEDIA_TYPE_VIDEO), videoFile.getName()); db.insertFileInfo (videoFile.getName(), 0, videoFile.length(), 0, "video/mp4"); if (videoFile == null) { Log.d ("", "Fehler beim Erstellen der Mediendatei, überprüfen Sie die Speicherberechtigungen:"); safeToTakePicture = true; Rückgabewert null; }

  videothumb.createNewFile(); 
      videoFile.createNewFile(); 
      Thread.sleep(10000); 
      upVFile = new File(videoFile.getAbsolutePath()); 
      FileOutputStream fos = new FileOutputStream(videoFile); 
      FileOutputStream ftos = new FileOutputStream(videothumb); 
      thumb = Bitmap.createScaledBitmap(bmv, 200, 200, false); 
      thumb.compress(Bitmap.CompressFormat.JPEG, 90, ftos); 
      ftos.flush(); 
      ftos.close(); 
      bmv.compress(Bitmap.CompressFormat.JPEG, 100, fos); 
      fos.flush(); 
      fos.close(); 
      ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
      bmv.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
      byte[] b = baos.toByteArray(); 
      baos.close(); 
      String encodedImage = new String(Base64.encodeBase64(b)); 
      editor.putString("image_data", encodedImage); 
      editor.commit(); 
      editor.putString(IMAGE_NAME, videoFile.getName()); 
      editor.commit(); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } finally { 
     } 

Antwort

1

schreiben ein Verfahren zur Galerie erfrischende

private void refreshGallery(File file){ 

Intent mediaScanIntent=new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 

mediaScanIntent.setData(Uri.fromFile(file)); 

sendBroadcast(mediaScanIntent); 

}