android - CustomVideoRecording : Video getting blurred with green lines in Samsung Galaxy3 if I am using Custom Zoom while recording -
i getting video blurred green lines in samsung galaxy s3, if use custom "zoom-in" otherwise fine. means if not applying zoom fine, how handle this?
this code preparing camera, zoom , recording.
private void preparecamera() { log.d(log_tag, "inside prepare camera ---"); try { // create instance of camera mcamera = getcamerainstance(); mparameters = mcamera.getparameters(); // green mess in video file without mparameters.set("cam_mode", 1); if (mparameters.iszoomsupported()) { try{ mparameters.setzoom(zoomlevel); //seekbar manage zoom seekbar.setmax(mparameters.getmaxzoom()); }catch(exception e){ log.e(log_tag, "exception while setting camera parameters"+e.tostring()); } } if (build.version.sdk_int >= build.version_codes.gingerbread){ mparameters.setfocusmode(camera.parameters.focus_mode_continuous_video); // works }else{ mparameters.setfocusmode(camera.parameters.focus_mode_infinity); // works } log.d(log_tag, "orientation::::::" + this.getresources().getconfiguration().orientation); if (this.getresources().getconfiguration().orientation !=configuration.orientation_landscape) { mcamera.setdisplayorientation(90); }else{ mcamera.setdisplayorientation(0); } try{ if(build.version.sdk_int >= 9){ mcamera.setparameters(mparameters); // catch runtimeexception } }catch(exception ee){ log.e(log_tag, "exception while set paramerts" + ee.getmessage()); } } catch (exception e) { log.e(log_tag, "exception while preparing view" + e); } }
and managing zoom
seekbar.setprogress(0); seekbar.setonseekbarchangelistener(new onseekbarchangelistener() { int progress = 0; @override public void onstoptrackingtouch(seekbar arg0) { ffivideoactivity.this.runonuithread(new runnable() { @override public void run() { if (mparameters.iszoomsupported()){ try{ final int maxzoomlevel = mparameters.getmaxzoom(); zoomlevel = progress; if(zoomlevel <= maxzoomlevel && zoomlevel > 0){ //mcamera.startsmoothzoom(currentzoomlevel); mparameters.setzoom(zoomlevel); mparameters.set("cam_mode", 1); mcamera.setparameters(mparameters); }}catch(exception e){ system.out.println(e.tostring()); } } } }); }
and recording video
if (build.version.sdk_int >= 10) { audio_encoding = mediarecorder.audioencoder.aac; video_output_format = mediarecorder.outputformat.mpeg_4; }else{ audio_encoding = mediarecorder.audioencoder.amr_nb; video_output_format = mediarecorder.outputformat.three_gpp; } log.d(log_tag, "outfilepath1 path ::" + outfilepath); // start media recorder messagerecorderdata messagerecorderdata = new messagerecorderdata(); messagerecorderdata.setmediatype("video"); messagerecorderdata.setoutfilepath(outfilepath); messagerecorderdata.setoutputformat(video_output_format); messagerecorderdata.setvideoencoder(mediarecorder.videoencoder.h264); messagerecorderdata.setvideosource(mediarecorder.videosource.camera); messagerecorderdata.setaudioencoder(audio_encoding); messagerecorderdata.setaudiosource(mediarecorder.audiosource.mic); messagerecorderdata.setvideoheight(240); messagerecorderdata.setvideowidth(320); messagerecorderdata.setvideomaxduration(60000); messagerecorderdata.setvideoframerate(15); mediarecorderservice = new mediarecorderservice(messagerecorderdata); mediarecorderservice.start(mcamera, mpreview);
Comments
Post a Comment