PDA

View Full Version : استفاده از سرویس دوربین در بک گراند



ghader62
یک شنبه 27 مرداد 1392, 12:32 عصر
سلام دوستان
من توی پروژه ام از سرویس دوربین استفاده میکنم
که کدش بصورت زیر هستش
public boolean starMediaRecording() {
mRecordingStatus = true;
mServiceCamera = Camera.open();

Camera.Parameters params = mServiceCamera.getParameters();
mServiceCamera.setParameters(params);
Camera.Parameters p = mServiceCamera.getParameters();
final List<Size> listSize = p.getSupportedPreviewSizes();

Size mPreviewSize = listSize.get(2);
p.setPreviewSize(mPreviewSize.width, mPreviewSize.height);
p.setPreviewFormat(PixelFormat.YCbCr_420_SP);
mServiceCamera.setParameters(p);

try {
mServiceCamera.setPreviewDisplay(mSurfaceHolder);
mServiceCamera.startPreview();
}
catch (IOException e) {
Log.e(TAG, e.getMessage());
e.printStackTrace();
}

mServiceCamera.unlock();

mMediaRecorder = new MediaRecorder();
mMediaRecorder.setCamera(mServiceCamera);
mMediaRecorder.setAudioSource(MediaRecorder.AudioS ource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoS ource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.Outpu tFormat.MPEG_4);
mMediaRecorder.setAudioEncoder(MediaRecorder.Audio Encoder.DEFAULT);
mMediaRecorder.setVideoEncoder(MediaRecorder.Video Encoder.DEFAULT);
mMediaRecorder.setOutputFile("/sdcard/filenamevideo.mp4");
mMediaRecorder.setVideoFrameRate(30);
mMediaRecorder.setVideoSize(mPreviewSize.width, mPreviewSize.height);
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.ge tSurface());

try {
mMediaRecorder.prepare();
}
catch (IllegalStateException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
mMediaRecorder.start();
mRecordingStatus = true;

return true;

}


برنامه برای p.getSupportedPreviewSizes() مقدار null برمیگرداند که برا من مشکل ایجاد میکنه
همچنین بعد از رفع این ارور (وارد کردن سایز بصورت دستی) در قسمت mServiceCamera.setParameters(p) نیز خطای نال پوینتر اکسپشن میده که بازم مشکل درست میکنه
و بعد از اونم در قسمت mMediaRecorder.setAudioSource(MediaRecorder.AudioS ource.MIC); ارور میده
دوستان اگه نظری در مورد برطرف کردن اصولی این ارورها دارند ممنون میشم بهم بگن
یا اگه کسی سورس بهتری در این مورد داره لینکشو بهم بده یه دنیا ممنونش میشم
با تشکر

topcoder
یک شنبه 27 مرداد 1392, 16:02 عصر
https://code.google.com/p/openmobster/wiki/CameraTutorial

http://www.vogella.com/articles/AndroidCamera/article.html

این دوتا فک کنم کمکت کنن :)

ghader62
یک شنبه 27 مرداد 1392, 17:10 عصر
https://code.google.com/p/openmobster/wiki/CameraTutorial

http://www.vogella.com/articles/AndroidCamera/article.html

این دوتا فک کنم کمکت کنن :)

ممنون دوست عزیز بابت این لینکها
ولی این لینکها فقط در مورد گرفتن عکس و نشاندادن آن در برنامه بحث میکنند
مشکل من اینجاس که میخوام یک سرویس، کار فیلمبرداری رو انجام بده
به هر حال ممنون بابت وقتی که گذاشتید