14

Ich habe eine opensource camera für Google Glas geschrieben, aber einige der Leute, die es verwendet haben berichtet, dass das Video aufgezeichnet nicht richtig für längere Videos gespeichert wird.Android Media Recorder nicht lange Videos auf Google Glass

ich nicht Informationen in Bezug auf eine solche Einschränkung in der Android-Dokumentation

Also Beim Check herausfinden konnte, fand ich, dass für Videos von mehr als 26 minutes, die Videodatei in Glass gerettet wurde und seine Größe war um 2.7 GB aber seine Dauer war 0:00. Und es konnte nicht mit jedem Videoplayer abgespielt werden.

Also ich frage mich, warum ist das? Warum wird das Video richtig aufgenommen für duration < 26 minutes und wird für längere Videos durcheinander gebracht.

-Code Video-Aufnahme zu starten ist

/** 
* Initialize video recorder to record video 
*/ 
private void initRecorder() { 
    try { 
     File dir = new File(Environment.getExternalStorageDirectory() 
       + File.separator + Environment.DIRECTORY_PICTURES 
       + File.separator + "My Videos"); 
     if (!dir.exists()) { 
      dir.mkdirs(); 
     } 
     videofile = new File(dir, "video.mp4"); 
     recorder.setCamera(mCamera); 

     // Step 2: Set sources 
     recorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); 
     recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 

     // Step 3: Set a CamcorderProfile (requires API Level 8 or higher) 
     recorder.setProfile(CamcorderProfile 
       .get(CamcorderProfile.QUALITY_HIGH)); 
     // Step 4: Set output file 
     recorder.setOutputFile(videofile.getAbsolutePath()); 
     // Step 5: Set the preview output 
     recorder.setPreviewDisplay(mPreview.getHolder().getSurface()); 
     // Step 6: Prepare configured MediaRecorder 
     recorder.setMaxDuration(3600* 1000); 
     recorder.setMaxFileSize(-1); 
     recorder.setOnErrorListener(new OnErrorListener() { 

      @Override 
      public void onError(MediaRecorder mr, int what, int extra) { 
      Log.e("Error Recording", what+" Extra "+extra); 

      } 
     }); 
     recorder.setOnInfoListener(new OnInfoListener() { 

      @Override 
      public void onInfo(MediaRecorder mr, int what, int extra) { 
       if (what == MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED) { 
        endVideoRecording(); 
       } 

      } 
     }); 

     recorder.prepare(); 
     recorder.start(); 
     mOverlay.setMode(Mode.RECORDING); 

    } catch (Exception e) { 
     if (e != null && e.getMessage() != null) 
      Log.e("Error Starting CuXtom Camera for video recording", 
        e.getMessage()); 
    } 
} 

Antwort

4

Nach meinen Recherchen scheint es, dass Google Glas nur in der Lage ist, größer sein Video unter 2GB Größe der Aufzeichnung so, wenn Sie irgendein Video, dessen Größe könnte aufnehmen möchten Dann würde ich Ihnen raten, das Video in kleinere Teile aufzuteilen und dann am Ende mit mp4 parser

zu verschmelzen