当前位置: 首页>>代码示例>>Java>>正文


Java CameraConfiguration.MEDIA_ACTION_BOTH属性代码示例

本文整理汇总了Java中com.sandrios.sandriosCamera.internal.configuration.CameraConfiguration.MEDIA_ACTION_BOTH属性的典型用法代码示例。如果您正苦于以下问题:Java CameraConfiguration.MEDIA_ACTION_BOTH属性的具体用法?Java CameraConfiguration.MEDIA_ACTION_BOTH怎么用?Java CameraConfiguration.MEDIA_ACTION_BOTH使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在com.sandrios.sandriosCamera.internal.configuration.CameraConfiguration的用法示例。


在下文中一共展示了CameraConfiguration.MEDIA_ACTION_BOTH属性的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setup

public void setup(int mediaAction) {
    this.mediaAction = mediaAction;

    if (CameraConfiguration.MEDIA_ACTION_VIDEO == mediaAction) {
        recordButton.setup(mediaAction, this);
        flashSwitchView.setVisibility(GONE);
    } else {
        recordButton.setup(CameraConfiguration.MEDIA_ACTION_PHOTO, this);
    }

    if (CameraConfiguration.MEDIA_ACTION_BOTH != mediaAction) {
        mediaActionSwitchView.setVisibility(GONE);
    }
    //这里让切换Icon消失
    else mediaActionSwitchView.setVisibility(GONE);
}
 
开发者ID:MartinRGB,项目名称:android_camera_experiment,代码行数:16,代码来源:CameraControlPanel.java

示例2: onStopVideoRecord

public void onStopVideoRecord() {

        //Set Progress
        CircleAngleAnimation animation = new CircleAngleAnimation(circleProgressView, 0);
        animation.setDuration(0);
        circleProgressView.startAnimation(animation);

        if (fileObserver != null)
            fileObserver.stopWatching();
        countDownTimer.stop();
        //这里让recycleView消失
        //recyclerView.setVisibility(VISIBLE);
        recordSizeText.setVisibility(GONE);
        cameraSwitchView.setVisibility(View.VISIBLE);
        settingsButton.setVisibility(VISIBLE);

        if (CameraConfiguration.MEDIA_ACTION_BOTH != mediaAction) {
            mediaActionSwitchView.setVisibility(GONE);
        }
        //去掉Media Switch
        else mediaActionSwitchView.setVisibility(GONE);
        recordButton.setRecordState(RecordButton.READY_FOR_RECORD_STATE);
    }
 
开发者ID:MartinRGB,项目名称:android_camera_experiment,代码行数:23,代码来源:CameraControlPanel.java

示例3: prepareCameraOutputs

@Override
protected void prepareCameraOutputs() {
    try {
        if (configurationProvider.getMediaQuality() == CameraConfiguration.MEDIA_QUALITY_AUTO) {
            camcorderProfile = CameraHelper.getCamcorderProfile(currentCameraId, configurationProvider.getVideoFileSize(), configurationProvider.getMinimumVideoDuration());
        } else
            camcorderProfile = CameraHelper.getCamcorderProfile(configurationProvider.getMediaQuality(), currentCameraId);

        List<Size> previewSizes = Size.fromList(camera.getParameters().getSupportedPreviewSizes());
        List<Size> pictureSizes = Size.fromList(camera.getParameters().getSupportedPictureSizes());
        List<Size> videoSizes;
        if (Build.VERSION.SDK_INT > 10)
            videoSizes = Size.fromList(camera.getParameters().getSupportedVideoSizes());
        else videoSizes = previewSizes;

        videoSize = CameraHelper.getSizeWithClosestRatio(
                (videoSizes == null || videoSizes.isEmpty()) ? previewSizes : videoSizes,
                camcorderProfile.videoFrameWidth, camcorderProfile.videoFrameHeight);

        photoSize = CameraHelper.getPictureSize(
                (pictureSizes == null || pictureSizes.isEmpty()) ? previewSizes : pictureSizes,
                configurationProvider.getMediaQuality() == CameraConfiguration.MEDIA_QUALITY_AUTO
                        ? CameraConfiguration.MEDIA_QUALITY_HIGHEST : configurationProvider.getMediaQuality());

        if (configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_PHOTO
                || configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_BOTH) {
            previewSize = CameraHelper.getSizeWithClosestRatio(previewSizes, photoSize.getWidth(), photoSize.getHeight());
        } else {
            previewSize = CameraHelper.getSizeWithClosestRatio(previewSizes, videoSize.getWidth(), videoSize.getHeight());
        }
    } catch (Exception e) {
        Log.e(TAG, "Error while setup camera sizes.");
    }
}
 
开发者ID:MartinRGB,项目名称:android_camera_experiment,代码行数:34,代码来源:Camera1Manager.java

示例4: prepareCameraOutputs

@Override
protected void prepareCameraOutputs() {
    try {
        if (configurationProvider.getMediaQuality() == CameraConfiguration.MEDIA_QUALITY_AUTO) {
            camcorderProfile = CameraHelper.getCamcorderProfile(currentCameraId, configurationProvider.getVideoFileSize(), configurationProvider.getMinimumVideoDuration());
        } else
            camcorderProfile = CameraHelper.getCamcorderProfile(configurationProvider.getMediaQuality(), currentCameraId);

        List<Size> previewSizes = Size.fromList(camera.getParameters().getSupportedPreviewSizes());
        List<Size> pictureSizes = Size.fromList(camera.getParameters().getSupportedPictureSizes());
        List<Size> videoSizes;
        videoSizes = Size.fromList(camera.getParameters().getSupportedVideoSizes());

        videoSize = CameraHelper.getSizeWithClosestRatio(
                (videoSizes == null || videoSizes.isEmpty()) ? previewSizes : videoSizes,
                camcorderProfile.videoFrameWidth, camcorderProfile.videoFrameHeight);

        photoSize = CameraHelper.getPictureSize(
                (pictureSizes == null || pictureSizes.isEmpty()) ? previewSizes : pictureSizes,
                configurationProvider.getMediaQuality() == CameraConfiguration.MEDIA_QUALITY_AUTO
                        ? CameraConfiguration.MEDIA_QUALITY_HIGHEST : configurationProvider.getMediaQuality());

        if (configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_PHOTO
                || configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_BOTH) {
            previewSize = CameraHelper.getSizeWithClosestRatio(previewSizes, photoSize.getWidth(), photoSize.getHeight());
        } else {
            previewSize = CameraHelper.getSizeWithClosestRatio(previewSizes, videoSize.getWidth(), videoSize.getHeight());
        }
    } catch (Exception e) {
        Log.e(TAG, "Error while setup camera sizes.");
    }
}
 
开发者ID:sandrios,项目名称:sandriosCamera,代码行数:32,代码来源:Camera1Manager.java

示例5: setup

public void setup(int mediaAction) {
    this.mediaAction = mediaAction;
    if (CameraConfiguration.MEDIA_ACTION_VIDEO == mediaAction) {
        recordButton.setup(mediaAction, this);
        flashSwitchView.setVisibility(GONE);
    } else {
        recordButton.setup(CameraConfiguration.MEDIA_ACTION_PHOTO, this);
    }

    if (CameraConfiguration.MEDIA_ACTION_BOTH != mediaAction) {
        mediaActionSwitchView.setVisibility(GONE);
    } else mediaActionSwitchView.setVisibility(VISIBLE);
}
 
开发者ID:sandrios,项目名称:sandriosCamera,代码行数:13,代码来源:CameraControlPanel.java

示例6: onStopVideoRecord

public void onStopVideoRecord() {
    if (fileObserver != null)
        fileObserver.stopWatching();
    countDownTimer.stop();
    recyclerView.setVisibility(VISIBLE);
    recordSizeText.setVisibility(GONE);
    cameraSwitchView.setVisibility(View.VISIBLE);
    settingsButton.setVisibility(VISIBLE);

    if (CameraConfiguration.MEDIA_ACTION_BOTH != mediaAction) {
        mediaActionSwitchView.setVisibility(GONE);
    } else mediaActionSwitchView.setVisibility(VISIBLE);
    recordButton.setRecordState(RecordButton.READY_FOR_RECORD_STATE);
}
 
开发者ID:sandrios,项目名称:sandriosCamera,代码行数:14,代码来源:CameraControlPanel.java

示例7: startPreview

private void startPreview(SurfaceHolder surfaceHolder) {
        try {
            Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
            Camera.getCameraInfo(currentCameraId, cameraInfo);
            int cameraRotationOffset = cameraInfo.orientation;

            Camera.Parameters parameters = camera.getParameters();
            setAutoFocus(camera, parameters);
            setFlashMode(configurationProvider.getFlashMode());

            if (configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_PHOTO
                    || configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_BOTH)
                turnPhotoCameraFeaturesOn(camera, parameters);
            else if (configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_PHOTO)
                turnVideoCameraFeaturesOn(camera, parameters);

            int rotation = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getRotation();
            int degrees = 0;
            switch (rotation) {
                case Surface.ROTATION_0:
                    degrees = 0;
                    break; // Natural orientation
                case Surface.ROTATION_90:
                    degrees = 90;
                    break; // Landscape left
                case Surface.ROTATION_180:
                    degrees = 180;
                    break;// Upside down
                case Surface.ROTATION_270:
                    degrees = 270;
                    break;// Landscape right
            }

            if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
                displayRotation = (cameraRotationOffset + degrees) % 360;
                displayRotation = (360 - displayRotation) % 360; // compensate
            } else {
                displayRotation = (cameraRotationOffset - degrees + 360) % 360;
            }

            this.camera.setDisplayOrientation(displayRotation);

            if (Build.VERSION.SDK_INT > 13
                    && (configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_VIDEO
                    || configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_BOTH)) {
//                parameters.setRecordingHint(true);
            }

            if (Build.VERSION.SDK_INT > 14
                    && parameters.isVideoStabilizationSupported()
                    && (configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_VIDEO
                    || configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_BOTH)) {
                parameters.setVideoStabilization(true);
            }

            parameters.setPreviewSize(previewSize.getWidth(), previewSize.getHeight());
            parameters.setPictureSize(photoSize.getWidth(), photoSize.getHeight());

            camera.setParameters(parameters);
            camera.setPreviewDisplay(surfaceHolder);
            camera.startPreview();

        } catch (IOException error) {
            Log.d(TAG, "Error setting camera preview: " + error.getMessage());
        } catch (Exception ignore) {
            Log.d(TAG, "Error starting camera preview: " + ignore.getMessage());
        }
    }
 
开发者ID:MartinRGB,项目名称:android_camera_experiment,代码行数:68,代码来源:Camera1Manager.java

示例8: extractConfiguration

private void extractConfiguration(Bundle bundle) {
    if (bundle != null) {
        if (bundle.containsKey(CameraConfiguration.Arguments.REQUEST_CODE))
            requestCode = bundle.getInt(CameraConfiguration.Arguments.REQUEST_CODE);

        if (bundle.containsKey(CameraConfiguration.Arguments.MEDIA_ACTION)) {
            switch (bundle.getInt(CameraConfiguration.Arguments.MEDIA_ACTION)) {
                case CameraConfiguration.MEDIA_ACTION_PHOTO:
                    mediaAction = CameraConfiguration.MEDIA_ACTION_PHOTO;
                    break;
                case CameraConfiguration.MEDIA_ACTION_VIDEO:
                    mediaAction = CameraConfiguration.MEDIA_ACTION_VIDEO;
                    break;
                default:
                    mediaAction = CameraConfiguration.MEDIA_ACTION_BOTH;
                    break;
            }
        }

        if (bundle.containsKey(CameraConfiguration.Arguments.MEDIA_QUALITY)) {
            switch (bundle.getInt(CameraConfiguration.Arguments.MEDIA_QUALITY)) {
                case CameraConfiguration.MEDIA_QUALITY_AUTO:
                    mediaQuality = CameraConfiguration.MEDIA_QUALITY_AUTO;
                    break;
                case CameraConfiguration.MEDIA_QUALITY_HIGHEST:
                    mediaQuality = CameraConfiguration.MEDIA_QUALITY_HIGHEST;
                    break;
                case CameraConfiguration.MEDIA_QUALITY_HIGH:
                    mediaQuality = CameraConfiguration.MEDIA_QUALITY_HIGH;
                    break;
                case CameraConfiguration.MEDIA_QUALITY_MEDIUM:
                    mediaQuality = CameraConfiguration.MEDIA_QUALITY_MEDIUM;
                    break;
                case CameraConfiguration.MEDIA_QUALITY_LOW:
                    mediaQuality = CameraConfiguration.MEDIA_QUALITY_LOW;
                    break;
                case CameraConfiguration.MEDIA_QUALITY_LOWEST:
                    mediaQuality = CameraConfiguration.MEDIA_QUALITY_LOWEST;
                    break;
                default:
                    mediaQuality = CameraConfiguration.MEDIA_QUALITY_MEDIUM;
                    break;
            }
            passedMediaQuality = mediaQuality;
        }

        if (bundle.containsKey(CameraConfiguration.Arguments.VIDEO_DURATION))
            videoDuration = bundle.getInt(CameraConfiguration.Arguments.VIDEO_DURATION);

        if (bundle.containsKey(CameraConfiguration.Arguments.VIDEO_FILE_SIZE))
            videoFileSize = bundle.getLong(CameraConfiguration.Arguments.VIDEO_FILE_SIZE);

        if (bundle.containsKey(CameraConfiguration.Arguments.MINIMUM_VIDEO_DURATION))
            minimumVideoDuration = bundle.getInt(CameraConfiguration.Arguments.MINIMUM_VIDEO_DURATION);

        if (bundle.containsKey(CameraConfiguration.Arguments.SHOW_PICKER))
            showPicker = bundle.getBoolean(CameraConfiguration.Arguments.SHOW_PICKER);

        if (bundle.containsKey(CameraConfiguration.Arguments.ENABLE_CROP))
            enableImageCrop = bundle.getBoolean(CameraConfiguration.Arguments.ENABLE_CROP);

        if (bundle.containsKey(CameraConfiguration.Arguments.FLASH_MODE))
            switch (bundle.getInt(CameraConfiguration.Arguments.FLASH_MODE)) {
                case CameraConfiguration.FLASH_MODE_AUTO:
                    flashMode = CameraConfiguration.FLASH_MODE_AUTO;
                    break;
                case CameraConfiguration.FLASH_MODE_ON:
                    flashMode = CameraConfiguration.FLASH_MODE_ON;
                    break;
                case CameraConfiguration.FLASH_MODE_OFF:
                    flashMode = CameraConfiguration.FLASH_MODE_OFF;
                    break;
                default:
                    flashMode = CameraConfiguration.FLASH_MODE_AUTO;
                    break;
            }
    }
}
 
开发者ID:MartinRGB,项目名称:android_camera_experiment,代码行数:78,代码来源:BaseSandriosActivity.java

示例9: prepareCameraOutputs

@Override
protected void prepareCameraOutputs() {
    try {
        CameraCharacteristics characteristics = currentCameraId.equals(faceBackCameraId) ? backCameraCharacteristics : frontCameraCharacteristics;

        if (currentCameraId.equals(faceFrontCameraId) && frontCameraStreamConfigurationMap == null)
            frontCameraStreamConfigurationMap = characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
        else if (currentCameraId.equals(faceBackCameraId) && backCameraStreamConfigurationMap == null)
            backCameraStreamConfigurationMap = characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);

        StreamConfigurationMap map = currentCameraId.equals(faceBackCameraId) ? backCameraStreamConfigurationMap : frontCameraStreamConfigurationMap;
        if (configurationProvider.getMediaQuality() == CameraConfiguration.MEDIA_QUALITY_AUTO) {
            camcorderProfile = CameraHelper.getCamcorderProfile(currentCameraId, configurationProvider.getVideoFileSize(), configurationProvider.getMinimumVideoDuration());
        } else
            camcorderProfile = CameraHelper.getCamcorderProfile(configurationProvider.getMediaQuality(), currentCameraId);

        videoSize = CameraHelper.chooseOptimalSize(Size.fromArray2(map.getOutputSizes(MediaRecorder.class)),
                windowSize.getWidth(), windowSize.getHeight(), new Size(camcorderProfile.videoFrameWidth, camcorderProfile.videoFrameHeight));

        if (videoSize == null || videoSize.getWidth() > camcorderProfile.videoFrameWidth
                || videoSize.getHeight() > camcorderProfile.videoFrameHeight)
            videoSize = CameraHelper.getSizeWithClosestRatio(Size.fromArray2(map.getOutputSizes(MediaRecorder.class)), camcorderProfile.videoFrameWidth, camcorderProfile.videoFrameHeight);
        else if (videoSize == null || videoSize.getWidth() > camcorderProfile.videoFrameWidth
                || videoSize.getHeight() > camcorderProfile.videoFrameHeight)
            videoSize = CameraHelper.getSizeWithClosestRatio(Size.fromArray2(map.getOutputSizes(MediaRecorder.class)), camcorderProfile.videoFrameWidth, camcorderProfile.videoFrameHeight);

        photoSize = CameraHelper.getPictureSize(Size.fromArray2(map.getOutputSizes(ImageFormat.JPEG)),
                configurationProvider.getMediaQuality() == CameraConfiguration.MEDIA_QUALITY_AUTO
                        ? CameraConfiguration.MEDIA_QUALITY_HIGHEST : configurationProvider.getMediaQuality());

        imageReader = ImageReader.newInstance(photoSize.getWidth(), photoSize.getHeight(),
                ImageFormat.JPEG, 2);
        imageReader.setOnImageAvailableListener(this, backgroundHandler);

        if (configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_PHOTO
                || configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_BOTH) {

            if (windowSize.getHeight() * windowSize.getWidth() > photoSize.getWidth() * photoSize.getHeight()) {
                previewSize = CameraHelper.getOptimalPreviewSize(Size.fromArray2(map.getOutputSizes(SurfaceTexture.class)), photoSize.getWidth(), photoSize.getHeight());
            } else {
                previewSize = CameraHelper.getOptimalPreviewSize(Size.fromArray2(map.getOutputSizes(SurfaceTexture.class)), windowSize.getWidth(), windowSize.getHeight());
            }

            if (previewSize == null)
                previewSize = CameraHelper.chooseOptimalSize(Size.fromArray2(map.getOutputSizes(SurfaceTexture.class)), windowSize.getWidth(), windowSize.getHeight(), photoSize);

        } else {
            if (windowSize.getHeight() * windowSize.getWidth() > videoSize.getWidth() * videoSize.getHeight()) {
                previewSize = CameraHelper.getOptimalPreviewSize(Size.fromArray2(map.getOutputSizes(SurfaceTexture.class)), videoSize.getWidth(), videoSize.getHeight());
            } else {
                previewSize = CameraHelper.getOptimalPreviewSize(Size.fromArray2(map.getOutputSizes(SurfaceTexture.class)), windowSize.getWidth(), windowSize.getHeight());
            }

            if (previewSize == null)
                previewSize = CameraHelper.getSizeWithClosestRatio(Size.fromArray2(map.getOutputSizes(SurfaceTexture.class)), videoSize.getWidth(), videoSize.getHeight());
        }
    } catch (Exception e) {
        Log.e(TAG, "Error while setup camera sizes.", e);
    }
}
 
开发者ID:sandrios,项目名称:sandriosCamera,代码行数:60,代码来源:Camera2Manager.java

示例10: startPreview

private void startPreview(SurfaceHolder surfaceHolder) {
    try {
        Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
        Camera.getCameraInfo(currentCameraId, cameraInfo);
        int cameraRotationOffset = cameraInfo.orientation;

        Camera.Parameters parameters = camera.getParameters();
        setAutoFocus(camera, parameters);
        setFlashMode(configurationProvider.getFlashMode());

        if (configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_PHOTO
                || configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_BOTH)
            turnPhotoCameraFeaturesOn(camera, parameters);
        else if (configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_PHOTO
                || configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_BOTH)
            turnVideoCameraFeaturesOn(camera, parameters);

        int rotation = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getRotation();
        int degrees = 0;
        switch (rotation) {
            case Surface.ROTATION_0:
                degrees = 0;
                break; // Natural orientation
            case Surface.ROTATION_90:
                degrees = 90;
                break; // Landscape left
            case Surface.ROTATION_180:
                degrees = 180;
                break;// Upside down
            case Surface.ROTATION_270:
                degrees = 270;
                break;// Landscape right
        }

        if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
            displayRotation = (cameraRotationOffset + degrees) % 360;
            displayRotation = (360 - displayRotation) % 360; // compensate
        } else {
            displayRotation = (cameraRotationOffset - degrees + 360) % 360;
        }

        this.camera.setDisplayOrientation(displayRotation);

        if (Build.VERSION.SDK_INT > 14
                && parameters.isVideoStabilizationSupported()
                && (configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_VIDEO
                || configurationProvider.getMediaAction() == CameraConfiguration.MEDIA_ACTION_BOTH)) {
            parameters.setVideoStabilization(true);
        }

        parameters.setPreviewSize(previewSize.getWidth(), previewSize.getHeight());
        parameters.setPictureSize(photoSize.getWidth(), photoSize.getHeight());

        camera.setParameters(parameters);
        camera.setPreviewDisplay(surfaceHolder);
        camera.startPreview();
        safeToTakePicture = true;

    } catch (IOException error) {
        Log.d(TAG, "Error setting camera preview: " + error.getMessage());
    } catch (Exception ignore) {
        Log.d(TAG, "Error starting camera preview: " + ignore.getMessage());
    }
}
 
开发者ID:sandrios,项目名称:sandriosCamera,代码行数:64,代码来源:Camera1Manager.java


注:本文中的com.sandrios.sandriosCamera.internal.configuration.CameraConfiguration.MEDIA_ACTION_BOTH属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。