Java 类android.hardware.Camera.Parameters 实例源码
项目:Nird2
文件:CameraView.java
@UiThread
private void setFocusMode(Parameters params) {
List<String> focusModes = params.getSupportedFocusModes();
if (LOG.isLoggable(INFO)) LOG.info("Focus modes: " + focusModes);
if (focusModes.contains(FOCUS_MODE_CONTINUOUS_PICTURE)) {
params.setFocusMode(FOCUS_MODE_CONTINUOUS_PICTURE);
} else if (focusModes.contains(FOCUS_MODE_CONTINUOUS_VIDEO)) {
params.setFocusMode(FOCUS_MODE_CONTINUOUS_VIDEO);
} else if (focusModes.contains(FOCUS_MODE_EDOF)) {
params.setFocusMode(FOCUS_MODE_EDOF);
} else if (focusModes.contains(FOCUS_MODE_MACRO)) {
params.setFocusMode(FOCUS_MODE_MACRO);
} else if (focusModes.contains(FOCUS_MODE_AUTO)) {
params.setFocusMode(FOCUS_MODE_AUTO);
} else if (focusModes.contains(FOCUS_MODE_FIXED)) {
params.setFocusMode(FOCUS_MODE_FIXED);
}
}
项目:Nird2
文件:CameraView.java
@UiThread
private void setFocusMode(Parameters params) {
List<String> focusModes = params.getSupportedFocusModes();
if (LOG.isLoggable(INFO)) LOG.info("Focus modes: " + focusModes);
if (focusModes.contains(FOCUS_MODE_CONTINUOUS_PICTURE)) {
params.setFocusMode(FOCUS_MODE_CONTINUOUS_PICTURE);
} else if (focusModes.contains(FOCUS_MODE_CONTINUOUS_VIDEO)) {
params.setFocusMode(FOCUS_MODE_CONTINUOUS_VIDEO);
} else if (focusModes.contains(FOCUS_MODE_EDOF)) {
params.setFocusMode(FOCUS_MODE_EDOF);
} else if (focusModes.contains(FOCUS_MODE_MACRO)) {
params.setFocusMode(FOCUS_MODE_MACRO);
} else if (focusModes.contains(FOCUS_MODE_AUTO)) {
params.setFocusMode(FOCUS_MODE_AUTO);
} else if (focusModes.contains(FOCUS_MODE_FIXED)) {
params.setFocusMode(FOCUS_MODE_FIXED);
}
}
项目:Zxing
文件:CameraManager.java
/**
* 通过设置Camera关闭闪光灯
*
* @param mCamera
*/
public void turnLightOff() {
if (camera == null) {
return;
}
Parameters parameters = camera.getParameters();
if (parameters == null) {
return;
}
List<String> flashModes = parameters.getSupportedFlashModes();
String flashMode = parameters.getFlashMode();
// Check if camera flash exists
if (flashModes == null) {
return;
}
// 闪光灯打开状态
if (!Parameters.FLASH_MODE_OFF.equals(flashMode)) {
// Turn off the flash
if (flashModes.contains(Parameters.FLASH_MODE_OFF)) {
parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(parameters);
} else {
Log.e(TAG, "FLASH_MODE_OFF not supported");
}
}
}
项目:QRCodeScanner
文件:BarcodeCameraConfig.java
public BarcodeCameraConfig configPreviewSize2(int viewWidth, int viewHeight) {
Parameters params = camera.getParameters();
List<Size> sizes = params.getSupportedPreviewSizes();
if (sizes == null || sizes.size() <= 0) {
return this;
}
Size bestSize = null;
int diff = Integer.MAX_VALUE;
for (Size tmpSize : sizes) {
int newDiff = Math.abs(tmpSize.width - viewWidth) + Math.abs(tmpSize.height - viewHeight);
if (newDiff == 0) {
bestSize = tmpSize;
break;
} else if (newDiff < diff) {
bestSize = tmpSize;
diff = newDiff;
}
}
params.setPreviewSize(bestSize.width, bestSize.height);
camera.setParameters(params);
return this;
}
项目:PeSanKita-android
文件:CameraView.java
@Override
public void onOrientationChanged(int orientation) {
if (camera.isPresent() && orientation != ORIENTATION_UNKNOWN) {
int newOutputOrientation = getCameraPictureRotation(orientation);
if (newOutputOrientation != outputOrientation) {
outputOrientation = newOutputOrientation;
Camera.Parameters params = camera.get().getParameters();
params.setRotation(outputOrientation);
try {
camera.get().setParameters(params);
}
catch (Exception e) {
Log.e(TAG, "Exception updating camera parameters in orientation change", e);
}
}
}
}
项目:Nird2
文件:CameraView.java
@UiThread
private void surfaceChangedUi(SurfaceHolder holder, int w, int h) {
if (LOG.isLoggable(INFO)) LOG.info("Surface changed: " + w + "x" + h);
if (surface != null && surface != holder.getSurface()) {
LOG.info("Releasing old surface");
surface.release();
}
surface = holder.getSurface();
surfaceWidth = w;
surfaceHeight = h;
if (camera == null) return; // We are stopped
stopPreview();
try {
Parameters params = camera.getParameters();
setPreviewSize(params);
camera.setParameters(params);
logCameraParameters();
} catch (RuntimeException e) {
LOG.log(WARNING, "Error setting preview size", e);
}
startPreview(holder);
}
项目:Nird2
文件:CameraView.java
@UiThread
private void surfaceChangedUi(SurfaceHolder holder, int w, int h) {
if (LOG.isLoggable(INFO)) LOG.info("Surface changed: " + w + "x" + h);
if (surface != null && surface != holder.getSurface()) {
LOG.info("Releasing old surface");
surface.release();
}
surface = holder.getSurface();
surfaceWidth = w;
surfaceHeight = h;
if (camera == null) return; // We are stopped
stopPreview();
try {
Parameters params = camera.getParameters();
setPreviewSize(params);
camera.setParameters(params);
logCameraParameters();
} catch (RuntimeException e) {
LOG.log(WARNING, "Error setting preview size", e);
}
startPreview(holder);
}
项目:mao-android
文件:CameraRenderer.java
public void setUpSurfaceTexture(final Camera camera) {
runOnDraw(new Runnable() {
@Override
public void run() {
try {
Camera.Parameters param = camera.getParameters();
param.setPreviewSize(1280, 720);//TODO
if (param.getSupportedFocusModes().contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
param.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
}
camera.setParameters(param);
int[] textures = new int[1];
GLES20.glGenTextures(1, textures, 0);
mSurfaceTexture = new SurfaceTexture(textures[0]);
camera.setPreviewTexture(mSurfaceTexture);
camera.setPreviewCallback(CameraRenderer.this);
camera.startPreview();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
项目:mao-android
文件:CameraRenderer.java
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
GLES20.glViewport(0, 0, width, height);
try {
mCamera.setPreviewTexture(mSurfaceTexture);
Camera.Parameters param = mCamera.getParameters();
param.setPreviewSize(1920, 1080);//TODO
if (param.getSupportedFocusModes().contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
param.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
}
mCamera.setParameters(param);
mCamera.startPreview();
} catch (IOException e) {
e.printStackTrace();
}
}
项目:treetracker-android
文件:CameraPreview.java
@SuppressWarnings("deprecation")
public CameraPreview(Context context, Camera camera) {
super(context);
mCamera = camera;
Parameters parameters = mCamera.getParameters();
parameters.setRotation(90);
mCamera.setParameters(parameters);
// mCamera.setParameters())
// Install a SurfaceHolder.Callback so we get notified when the
// underlying surface is created and destroyed.
mHolder = getHolder();
mHolder.addCallback(this);
// deprecated setting, but required on Android versions prior to 3.0
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
项目:boohee_v5.6
文件:BarcodeScannerView.java
public void setFlash(boolean flag) {
if (this.mCamera != null && CameraUtils.isFlashSupported(this.mCamera)) {
Parameters parameters = this.mCamera.getParameters();
if (flag) {
if (!parameters.getFlashMode().equals("torch")) {
parameters.setFlashMode("torch");
} else {
return;
}
} else if (!parameters.getFlashMode().equals("off")) {
parameters.setFlashMode("off");
} else {
return;
}
this.mCamera.setParameters(parameters);
}
}
项目:Cable-Android
文件:CameraView.java
@Override
public void onOrientationChanged(int orientation) {
if (camera.isPresent() && orientation != ORIENTATION_UNKNOWN) {
int newOutputOrientation = getCameraPictureRotation(orientation);
if (newOutputOrientation != outputOrientation) {
outputOrientation = newOutputOrientation;
Camera.Parameters params = camera.get().getParameters();
params.setRotation(outputOrientation);
try {
camera.get().setParameters(params);
}
catch (Exception e) {
Log.e(TAG, "Exception updating camera parameters in orientation change", e);
}
}
}
}
项目:GCSApp
文件:RecorderVideoActivity.java
@SuppressLint("NewApi")
private boolean initCamera() {
try {
if (frontCamera == 0) {
mCamera = Camera.open(CameraInfo.CAMERA_FACING_BACK);
} else {
mCamera = Camera.open(CameraInfo.CAMERA_FACING_FRONT);
}
Parameters camParams = mCamera.getParameters();
mCamera.lock();
mSurfaceHolder = mVideoView.getHolder();
mSurfaceHolder.addCallback(this);
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mCamera.setDisplayOrientation(90);
} catch (RuntimeException ex) {
EMLog.e("video", "init Camera fail " + ex.getMessage());
return false;
}
return true;
}
项目:QRCodeScanner
文件:BarcodeCameraConfig.java
public BarcodeCameraConfig configFocusMode() {
try {
Parameters parameters = camera.getParameters();
String focusMode = findValue(parameters.getSupportedFocusModes(),
Parameters.FOCUS_MODE_AUTO,
Parameters.FOCUS_MODE_MACRO);
if (focusMode != null) {
parameters.setFocusMode(focusMode);
}
camera.setParameters(parameters);
} catch (Exception e) {
}
return this;
}
项目:SmartMath
文件:CameraPreview.java
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
try {
if (mCamera != null) {
// Now that the size is known, set up the camera parameters and begin
// the preview.
Camera.Parameters p = mCamera.getParameters();
p.setPreviewSize(mPreviewSize.width, mPreviewSize.height);
requestLayout();
setCameraParams(mCamera, p);
startPreview();
}
} catch (Exception exception) {
Log.e(TAG, "Exception caused by surfaceChanged()", exception);
}
}
项目:SmartMath
文件:CameraPreview.java
public void startPreview() {
if (mCamera != null) {
// set flash mode
if (msbSupportFlash) {
Camera.Parameters p = mCamera.getParameters();
if (((ActivityQuickRecog)getContext()).isTurnOnFlashChecked()) {
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
} else {
p.setFlashMode(Parameters.FLASH_MODE_OFF);
}
setCameraParams(mCamera, p);
}
// set call back.
mCamera.setPreviewCallback(this);
// start preview.
mCamera.startPreview();
}
((ActivityQuickRecog)getContext()).onStartPreview();
}
项目:ROLF-EV3
文件:VideoStream.java
/** Turns the LED on or off if phone has one. */
public synchronized void setFlashState(boolean state) {
Log.d("flash", "flash called");
// If the camera has already been opened, we apply the change immediately
if (mCamera != null) {
Log.d("flash", "camera not null");
if (mStreaming && mMode == MODE_MEDIARECORDER_API) {
lockCamera();
}
Parameters parameters = mCamera.getParameters();
// We test if the phone has a flash
if (parameters.getFlashMode()==null) {
// The phone has no flash or the choosen camera can not toggle the flash
throw new RuntimeException("Can't turn the flash on !");
} else {
parameters.setFlashMode(state?Parameters.FLASH_MODE_TORCH:Parameters.FLASH_MODE_OFF);
try {
mCamera.setParameters(parameters);
mFlashEnabled = state;
} catch (RuntimeException e) {
mFlashEnabled = false;
throw new RuntimeException("Can't turn the flash on !");
} finally {
if (mStreaming && mMode == MODE_MEDIARECORDER_API) {
unlockCamera();
}
}
}
} else {
mFlashEnabled = state;
}
}
项目:VideoCamera
文件:CameraWrapper.java
@TargetApi(VERSION_CODES.HONEYCOMB)
protected List<Size> getSupportedVideoSizes(int currentSdkInt) {
Parameters params = mNativeCamera.getNativeCameraParameters();
List<Size> supportedVideoSizes;
if (currentSdkInt < Build.VERSION_CODES.HONEYCOMB) {
CLog.e(CLog.CAMERA, "Using supportedPreviewSizes iso supportedVideoSizes due to API restriction");
supportedVideoSizes = params.getSupportedPreviewSizes();
} else if (params.getSupportedVideoSizes() == null) {
CLog.e(CLog.CAMERA, "Using supportedPreviewSizes because supportedVideoSizes is null");
supportedVideoSizes = params.getSupportedPreviewSizes();
} else {
supportedVideoSizes = params.getSupportedVideoSizes();
}
return supportedVideoSizes;
}
项目:AndroidCamera
文件:ActivityCamera.java
private void setUpCamera(final int id) {
mCameraInstance = getCameraInstance(id);
Parameters parameters = mCameraInstance.getParameters();
// TODO adjust by getting supportedPreviewSizes and then choosing
// the best one for screen size (best fill screen)
if (parameters.getSupportedFocusModes().contains(
Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
}
mCameraInstance.setParameters(parameters);
int orientation = mCameraHelper.getCameraDisplayOrientation(
ActivityCamera.this, mCurrentCameraId);
CameraInfo2 cameraInfo = new CameraInfo2();
mCameraHelper.getCameraInfo(mCurrentCameraId, cameraInfo);
boolean flipHorizontal = cameraInfo.facing == CameraInfo.CAMERA_FACING_FRONT;
mGPUImage.setUpCamera(mCameraInstance, orientation, flipHorizontal, false);
}
项目:LLApp
文件:CameraView.java
/**
* 设置闪光灯类型
* @param flashMode
*/
@Override
public void setFlashMode(FlashMode flashMode) {
if(mCamera==null) return;
mFlashMode = flashMode;
Parameters parameters=mCamera.getParameters();
switch (flashMode) {
case ON:
parameters.setFlashMode(Parameters.FLASH_MODE_ON);
break;
case AUTO:
parameters.setFlashMode(Parameters.FLASH_MODE_AUTO);
break;
case TORCH:
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
break;
default:
parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
break;
}
mCamera.setParameters(parameters);
}
项目:LLApp
文件:CameraView.java
/**
* 设置相机缩放级别
* @param zoom
*/
@Override
public void setZoom(int zoom){
if(mCamera==null) return;
Parameters parameters;
//注意此处为录像模式下的setZoom方式。在Camera.unlock之后,调用getParameters方法会引起android框架底层的异常
//stackoverflow上看到的解释是由于多线程同时访问Camera导致的冲突,所以在此使用录像前保存的mParameters。
if(mParameters!=null)
parameters=mParameters;
else {
parameters=mCamera.getParameters();
}
if(!parameters.isZoomSupported()) return;
parameters.setZoom(zoom);
mCamera.setParameters(parameters);
mZoom=zoom;
}
项目:LLApp
文件:CameraView.java
/**
* 根据当前朝向修改保存图片的旋转角度
*/
private void updateCameraOrientation(){
if(mCamera!=null){
Parameters parameters = mCamera.getParameters();
//rotation参数为 0、90、180、270。水平方向为0。
int rotation=90+mOrientation==360?0:90+mOrientation;
//前置摄像头需要对垂直方向做变换,否则照片是颠倒的
if(mIsFrontCamera){
if(rotation==90) rotation=270;
else if (rotation==270) rotation=90;
}
parameters.setRotation(rotation);//生成的图片转90°
//预览图片旋转90°
mCamera.setDisplayOrientation(90);//预览转90°
mCamera.setParameters(parameters);
}
}
项目:BigApp_Discuz_Android
文件:FlashlightManager.java
public static void setFlashLightNormal(boolean active) {
if (camera == null)
camera = getCamera();
Parameters params = camera.getParameters();
if (active) {
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(params);
camera.startPreview(); // 开始亮灯;
} else {
params.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.stopPreview(); // 关掉亮灯
camera.release(); // 关掉照相机
camera =null;
}
ZogUtils.printLog(FlashlightManager.class, "setFlashLightNormal active:" + active);
}
项目:cloudturbine
文件:CTandroidAV.java
/**
* A safe way to get an instance of the Camera object.
*/
public Camera getCameraInstance() {
Camera c = null;
try {
c = Camera.open(cameraId); // attempt to get a Camera instance
} catch (Exception e) {
Log.e(TAG, "Error: Camera not available!");
// Camera is not available (in use or does not exist)
}
Parameters params = c.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_OFF);
params.setPictureFormat(ImageFormat.JPEG);
params.setJpegQuality(50); // 1-100, 100 best
c.setParameters(params);
return c; // returns null if camera is unavailable
}
项目:DataDrivenBP
文件:BPActivity.java
private void startPreview() {
if (myCamera != null) {
myCamera.stopPreview();
} else {
myCamera = getCameraInstance();
}
Parameters parameters = myCamera.getParameters();
if (canOpenFlash) {
if (camRecordEnabled) {
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
}
} else {
parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
}
parameters.setPreviewFormat(ImageFormat.NV21);
myCamera.setParameters(parameters);
myCamera.setPreviewCallbackWithBuffer(new MyPreview());
myCamera.addCallbackBuffer(mCallbackBuf);
myCamera.startPreview();
}
项目:JCL
文件:JCL_Camera.java
public boolean prepare() {
try {
f = new SurfaceTexture(0);
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
// f.setDefaultBufferSize(10000, 10000);
// }
// SurfaceHolder h = new SurfaceView(JCL_ApplicationContext.getContext()).getHolder();
//mCamera.setPreviewDisplay(h);
mCamera.setPreviewTexture(f);
} catch (IOException e1) {
Log.e("JCLCAMERA", e1.getMessage());
return false;
}
Parameters params = mCamera.getParameters();
params.setPreviewSize(width, height);
params.setPictureSize(width, height);
params.setJpegQuality(50);
params.setFlashMode(Parameters.FLASH_MODE_OFF);
params.setPictureFormat(ImageFormat.JPEG);
mCamera.setParameters(params);
return true;
}
项目:JCL
文件:JCL_Camera.java
private static Object[] getMaxResolutionOnCamera() {
Camera mCamera = getCameraInstance();
Camera.Parameters param;
param = mCamera.getParameters();
Camera.Size bestSize = null;
List<Camera.Size> sizeList = mCamera.getParameters().getSupportedPreviewSizes();
bestSize = sizeList.get(0);
for (int i = 1; i < sizeList.size(); i++) {
if ((sizeList.get(i).width * sizeList.get(i).height) > (bestSize.width * bestSize.height)) {
bestSize = sizeList.get(i);
}
}
List<Integer> supportedPreviewFormats = param.getSupportedPreviewFormats();
Iterator<Integer> supportedPreviewFormatsIterator = supportedPreviewFormats.iterator();
while (supportedPreviewFormatsIterator.hasNext()) {
Integer previewFormat = supportedPreviewFormatsIterator.next();
if (previewFormat == ImageFormat.YV12) {
param.setPreviewFormat(previewFormat);
}
}
mCamera.release();
return new Object[]{bestSize.width, bestSize.height};
}
项目:Android_CCTV
文件:VideoStream.java
protected synchronized void updateCamera() throws RuntimeException {
if (mPreviewStarted) {
mPreviewStarted = false;
mCamera.stopPreview();
}
Parameters parameters = mCamera.getParameters();
mQuality = VideoQuality.determineClosestSupportedResolution(parameters, mQuality);
int[] max = VideoQuality.determineMaximumSupportedFramerate(parameters);
parameters.setPreviewFormat(mCameraImageFormat);
parameters.setPreviewSize(mQuality.resX, mQuality.resY);
parameters.setPreviewFpsRange(max[0], max[1]);
try {
mCamera.setParameters(parameters);
mCamera.setDisplayOrientation(mOrientation);
mCamera.startPreview();
mPreviewStarted = true;
} catch (RuntimeException e) {
destroyCamera();
throw e;
}
}
项目:ChatDemoUI3.0
文件:RecorderVideoActivity.java
@SuppressLint("NewApi")
private boolean initCamera() {
try {
if (frontCamera == 0) {
mCamera = Camera.open(CameraInfo.CAMERA_FACING_BACK);
} else {
mCamera = Camera.open(CameraInfo.CAMERA_FACING_FRONT);
}
Camera.Parameters camParams = mCamera.getParameters();
mCamera.lock();
mSurfaceHolder = mVideoView.getHolder();
mSurfaceHolder.addCallback(this);
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mCamera.setDisplayOrientation(90);
} catch (RuntimeException ex) {
EMLog.e("video", "init Camera fail " + ex.getMessage());
return false;
}
return true;
}
项目:Rocket.Chat-android
文件:CameraManager.java
public void setupCameraAndStartPreview(SurfaceHolder sf, Size sz, int displayRotation) {
stopCameraPreview();
cameraRotationDegree = CameraHelper.setCameraDisplayOrientation(defaultCameraID, camera, displayRotation);
chooseCamcorderProfile(sz);
// tweak profile
profile.fileFormat = MediaRecorder.OutputFormat.THREE_GPP;
profile.audioSampleRate = 16000;
profile.audioChannels = 1;
profile.audioBitRate = 96000;
Parameters param = camera.getParameters();
param.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
param.setPreviewSize(profile.videoFrameWidth, profile.videoFrameHeight);
if (Build.VERSION.SDK_INT >= 14)
param.setRecordingHint(true);
camera.setParameters(param);
if (setDisplay(sf)) {
startCameraPreview();
}
}
项目:RemoteEye
文件:VideoStream.java
protected synchronized void updateCamera() throws RuntimeException {
if (mPreviewStarted) {
mPreviewStarted = false;
mCamera.stopPreview();
}
Parameters parameters = mCamera.getParameters();
mQuality = VideoQuality.determineClosestSupportedResolution(parameters, mQuality);
int[] max = VideoQuality.determineMaximumSupportedFramerate(parameters);
parameters.setPreviewFormat(mCameraImageFormat);
parameters.setPreviewSize(mQuality.resX, mQuality.resY);
parameters.setPreviewFpsRange(max[0], max[1]);
try {
mCamera.setParameters(parameters);
mCamera.setDisplayOrientation(mOrientation);
mCamera.startPreview();
mPreviewStarted = true;
} catch (RuntimeException e) {
destroyCamera();
throw e;
}
}
项目:iTester
文件:FlashlightManager.java
/**
* ͨ������Camera�������
* @param mCamera
*/
public static boolean hasFlashlight(Camera mCamera)
{
if (mCamera == null) {
return false;
}
Parameters parameters = mCamera.getParameters();
if (parameters == null) {
return false;
}
List<String> flashModes = parameters.getSupportedFlashModes();
// Check if camera flash exists
if (flashModes == null) {
// Use the screen as a flashlight (next best thing)
return false;
}
else return true;
}
项目:iTester
文件:FlashlightManager.java
public static void turnLightOn(Camera mCamera) {
if (mCamera == null) {
return;
}
Parameters parameters = mCamera.getParameters();
if (parameters == null) {
return;
}
List<String> flashModes = parameters.getSupportedFlashModes();
// Check if camera flash exists
if (flashModes == null) {
// Use the screen as a flashlight (next best thing)
return;
}
String flashMode = parameters.getFlashMode();
Log.i(TAG, "Flash mode: " + flashMode);
Log.i(TAG, "Flash modes: " + flashModes);
if (!Parameters.FLASH_MODE_TORCH.equals(flashMode)) {
// Turn on the flash
if (flashModes.contains(Parameters.FLASH_MODE_TORCH)) {
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(parameters);
} else {
}
}
}
项目:sdkdemoapp3.0_android
文件:RecorderVideoActivity.java
@SuppressLint("NewApi")
private boolean initCamera() {
try {
if (frontCamera == 0) {
mCamera = Camera.open(CameraInfo.CAMERA_FACING_BACK);
} else {
mCamera = Camera.open(CameraInfo.CAMERA_FACING_FRONT);
}
Camera.Parameters camParams = mCamera.getParameters();
mCamera.lock();
mSurfaceHolder = mVideoView.getHolder();
mSurfaceHolder.addCallback(this);
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mCamera.setDisplayOrientation(90);
} catch (RuntimeException ex) {
EMLog.e("video", "init Camera fail " + ex.getMessage());
return false;
}
return true;
}
项目:DeviceConnect-Android
文件:CameraOverlay.java
/**
* フラッシュライト消灯.
*/
public synchronized void turnOffFlashLight() {
if (mCamera != null && isFlashLightState()) {
Parameters p = mCamera.getParameters();
p.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
mCamera.setParameters(p);
if (!isShow()) {
mCamera.stopPreview();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
try {
mCamera.setPreviewTexture(null);
} catch (IOException e) {
if (BuildConfig.DEBUG) {
e.printStackTrace();
}
}
}
mCamera.release();
mParams = null;
mCamera = null;
}
}
mFlashLightState = false;
mUseFlashLight = false;
}
项目:GuessMusic
文件:Light.java
private void openlight() {
try {
playSounds(R.raw.click);// �����ť������
ca = Camera.open(); // �������
pa = ca.getParameters();
pa.setFlashMode(Parameters.FLASH_MODE_TORCH);// ѡ���ֵ�Ͳģʽ
ca.setParameters(pa);
ca.autoFocus(new Camera.AutoFocusCallback() { // �Զ��Խ������ӳɹ���
public void onAutoFocus(boolean success, Camera camera) {
}
});
ca.startPreview();
state = false;
b.setBackground(getResources().getDrawable(R.drawable.on));
} catch (Exception e) {
}
}
项目:WiCamera3D
文件:Util.java
public static void setRotationParameter(Parameters parameters,
int cameraId, int orientation) {
// See android.hardware.Camera.Parameters.setRotation for
// documentation.
int rotation = 0;
if (orientation != OrientationEventListener.ORIENTATION_UNKNOWN) {
CameraInfo info =
CameraHolder.instance().getCameraInfo()[cameraId];
// CameraInfo info = new CameraInfo();
// Camera.getCameraInfo(cameraId, info);
if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
rotation = (info.orientation - orientation + 360) % 360;
} else { // back-facing camera
rotation = (info.orientation + orientation) % 360;
}
}
parameters.setRotation(rotation);
}
项目:PerchBroadcast-Android-SDK
文件:CameraEncoder.java
/**
* Resets per-recording state. This excludes {@link EglStateSaver},
* which should be re-used across recordings made by this CameraEncoder instance.
*
* @param config the desired parameters for the next recording.
*/
private void init(@NonNull SessionConfig config) {
mEncodedFirstFrame = false;
mReadyForFrames = false;
mRecording = false;
mEosRequested = false;
mCurrentCamera = -1;
mDesiredCamera = Camera.CameraInfo.CAMERA_FACING_BACK;
mCurrentFlash = Parameters.FLASH_MODE_OFF;
mDesiredFlash = null;
mCurrentFilter = -1;
mNewFilter = Filters.FILTER_NONE;
mThumbnailRequested = false;
mThumbnailRequestedOnFrame = -1;
mSessionConfig = config;
}
项目:WiCamera3D
文件:CameraView.java
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Camera.Parameters parameters = mCamera.getParameters();
List<Size> sizes = parameters.getSupportedPreviewSizes();
Size optimalSize = getOptimalPreviewSize(sizes, w, h);
parameters.setPreviewSize(640, 480);
String s = String.format("surface w: %d h: %d", w, h);
mScreenWidth = w;
mScreenHeight = h;
Log.i("info", s);
// 创建用于预览合成的图片
mbmp_previewL = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);// 创建bitmap对象
mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
// mCamera.setParameters(parameters);
mCamera.startPreview();
}
项目:easyLight
文件:FlashlightHolder.java
public synchronized void close()
{
try{
if(mCam == null) {
return;
}
mCamParams.setFlashMode(Parameters.FLASH_MODE_OFF);
mCam.setParameters(mCamParams);
mCam.setPreviewCallback(null);
mCam.stopPreview();
mCam.release();
mCam = null;
mInstance = null;
} catch(Exception e)
{
Log.d(Utils.APPNAME, "Exception closing flashlight " + e.getMessage());
}
}