2011-01-17 3 views
2

Das ist mein Problem, ich entwickle eine Software, die die Kamera verwendet und Videos aufzeichnet, alles funktioniert, aber ich kann nicht erkennen, wie man die Einstellungen verwaltet, zum Beispiel habe ich eine Samsung Galaxy S Video bei 1280x720 aufnehmen, aber wenn ich diese Entschließung mit:Kamera MediaRecorder/CamcorderProfile

CamcorderProfile profile; 
profile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH); 
profile.videoFrameWidth = 1280; 
profile.videoFrameHeight = 720; 
profile.videoFrameRate = 30; 
recorder.setProfile(profile); 

die logcat zeigt diese Meldungen:

01-17 14:22:28.706: WARN/AuthorDriver(2782): Intended video encoding frame width (1280) is too large and will be set to (128849019680) 

01-17 14:22:28.706: WARN/AuthorDriver(2782): Intended video encoding frame height (720) is too large and will be set to (1078895784755680) 

und die Parameter werden automatisch auf 800 skaliert x480

Antwort

2

Nicht genau sicher, warum Sie CamcorderProfile verwenden, erwähnt der Android Doc, dass dies nur gelesen wird.

Wenn Sie die Videoaufzeichnung Größe 1280x720 dann

  • Holen Sie die Liste der unterstützten Videogröße von den Kameraparameter einstellen möchten (nur um sicher zu sein chk die Größe, die Sie festlegen möchten durch die unterstützt wird Gerät) -

    public List<Camera.Size> getSupportedVideoSizes() 
    
  • Dann Videogröße auf den Medienrecorder mit Anruf -

    public void setVideoSize (int width, int height)