2013-04-29 44 views
1

正如標題所說我有這樣的代碼來準備我的記錄:視頻播放,雖然我在人像

private boolean prepareMediaRecorder(){ 
    myCamera = getCameraInstance(); 

    Camera.Parameters p = myCamera.getParameters(); 

    p.set("orientation", "landscape"); 
    p.set("rotation", 90); 
    myCamera.setParameters(p); 

    myCamera.setDisplayOrientation(90); 

    myCamera.unlock(); 
    mediaRecorder = new MediaRecorder(); 
    mediaRecorder.setCamera(myCamera); 

    mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); 
    mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 

    mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); 

    File tempFile = new File(Environment.getExternalStorageDirectory(), "/rec/temp/video_" + String.valueOf(videoCount) + ".mp4"); 
    mediaRecorder.setOutputFile(tempFile.getPath()); 
    mediaRecorder.setMaxDuration(12500); // Set max duration 11 sec. 
    mediaRecorder.setMaxFileSize(7000000); // Set max file size 7M 

    mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder().getSurface()); 


    try { 
     mediaRecorder.prepare(); 
    } catch (IllegalStateException e) { 
     releaseMediaRecorder(); 
     return false; 
    } catch (IOException e) { 
     releaseMediaRecorder(); 
     return false; 
    } 
    return true; 

} 

,我已經在我的表面看法:

@Override 
    public void surfaceChanged(SurfaceHolder holder, int format, int weight, 
      int height) { 
     // If your preview can change or rotate, take care of those events here. 
     // Make sure to stop the preview before resizing or reformatting it. 

     if (mHolder.getSurface() == null){ 
      // preview surface does not exist 
      return; 
     } 

     // stop preview before making changes 
     try { 
      mCamera.stopPreview(); 
     } catch (Exception e){ 
      // ignore: tried to stop a non-existent preview 
     } 

     // make any resize, rotate or reformatting changes here 

     // start preview with new settings 
     try { 

      myCamera.setDisplayOrientation(90); 

      mCamera.startPreview(); 

     } catch (Exception e){ 
     } 
    } 

這是唯一的兩個地方使用相機(旋轉)... 當錄製它很好,一切都是肖像,但是當我播放該視頻時,它的風景。任何人都可以告訴我爲什麼以及如何解決這個問題?

+0

你有沒有嘗試將相機設置爲縱向而不是風景,就像你在這裏所做的那樣「p.set(」orientation「,」landscape「);」 – Mikel 2013-10-18 19:41:18

回答