List of usage examples for android.view SurfaceHolder SURFACE_TYPE_PUSH_BUFFERS
int SURFACE_TYPE_PUSH_BUFFERS
To view the source code for android.view SurfaceHolder SURFACE_TYPE_PUSH_BUFFERS.
Click Source Link
From source file:com.nekomeshi312.whiteboardcorrection.CameraViewFragment.java
@Override public void onViewCreated(View view, Bundle savedInstanceState) { // TODO Auto-generated method stub if (MyDebug.DEBUG) Log.d(LOG_TAG, "onViewCreated"); super.onViewCreated(view, savedInstanceState); mTextViewLineDetectErrorMsg = (TextView) mParentActivity.findViewById(R.id.line_detection_error_msg); mCameraSurfaceView = (CameraSurfaceView) mParentActivity.findViewById(R.id.camera_surface_view); SurfaceHolder holder = mCameraSurfaceView.getHolder(); holder.addCallback(this); if (Build.VERSION.SDK_INT < 11) { holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); }//from w w w .ja va 2 s.com mCameraSurfaceView.setCameraPreview(this); mWhiteBoardView = (WhiteBoardAreaView) mParentActivity.findViewById(R.id.whiteboard_area_view); mWhiteBoardView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { // TODO Auto-generated method stub if (mBaseWidth == -1) { if (mCameraSetting.isCameraOpen()) { fitChildSize2CamSize(); } } } }); }
From source file:com.example.android.mediarecorder.MainActivity.java
private boolean preparePreview() { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { try {//from ww w . j av a2s . c o m CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); String id = manager.getCameraIdList()[0]; CameraCharacteristics characteristics = manager.getCameraCharacteristics(id); sensorOrientation = characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION); } catch (CameraAccessException e) { Log.e("ERROR", "Cannot access Camera2 API"); e.printStackTrace(); } } Log.i(TAG, "Preparing Camera Preview"); // BEGIN_INCLUDE (configure_preview) // mCamera = CameraHelper.getDefaultCameraInstance(); // We need to make sure that our preview and recording video size are supported by the // camera. Query camera to find all the sizes and choose the optimal size given the // dimensions of our preview surface. Camera.Parameters parameters = mCamera.getParameters(); List<Camera.Size> mSupportedPreviewSizes = parameters.getSupportedPreviewSizes(); List<Camera.Size> mSupportedVideoSizes = parameters.getSupportedVideoSizes(); Camera.Size optimalSize = CameraHelper.getOptimalVideoSize(mSupportedVideoSizes, mSupportedPreviewSizes, mPreview.getWidth(), mPreview.getHeight()); // Use the same size for recording profile. CamcorderProfile profile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH); profile.videoFrameWidth = optimalSize.width; profile.videoFrameHeight = optimalSize.height; // likewise for the camera object itself. parameters.setPreviewSize(profile.videoFrameWidth, profile.videoFrameHeight); mCamera.setParameters(parameters); try { // Requires API level 11+, For backward compatibility use {@link setPreviewDisplay} // with {@link SurfaceView} // mCamera.setPreviewTexture(mPreview.getSurfaceTexture()); mHolder = mPreview.getHolder(); mHolder.addCallback(this); mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); // mHolder.setKeepScreenOn(true); setCameraDisplayOrientation(0); mCamera.setPreviewDisplay(mPreview.getHolder()); mCamera.startPreview(); Log.i(TAG, "Setting Preview Display"); } catch (IOException e) { Log.e(TAG, "Surface texture is unavailable or unsuitable" + e.getMessage()); return false; } // END_INCLUDE (configure_preview) return true; }
From source file:com.gsma.rcs.ri.sharing.video.OutgoingVideoSharing.java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Always on window getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); // Set layout setContentView(R.layout.video_sharing_outgoing); // Set the contact selector mSpinner = (Spinner) findViewById(R.id.contact); ContactListAdapter adapter = ContactListAdapter.createRcsContactListAdapter(this); mSpinner.setAdapter(adapter);// ww w. j a va2s .c om // Saved datas if (savedInstanceState == null) { mNbfCameras = getNumberOfCameras(); } else { mSharingId = savedInstanceState.getString(SAVE_SHARING_ID); mNbfCameras = savedInstanceState.getInt(SAVE_NB_OF_CAMERAS); mVideoHeight = savedInstanceState.getInt(SAVE_VIDEO_HEIGHT); mVideoWidth = savedInstanceState.getInt(SAVE_VIDEO_WIDTH); mOpenedCameraId = CameraOptions.convert(savedInstanceState.getInt(SAVE_OPENED_CAMERA_ID)); mContact = savedInstanceState.getParcelable(SAVE_REMOTE_CONTACT); mStarted = savedInstanceState.getBoolean(SAVE_STARTED); } if (LogUtils.isActive) { Log.d(LOGTAG, "Sharing ID " + mSharingId + " Nb of cameras=" + mNbfCameras + " active camera=" + mOpenedCameraId); } if (LogUtils.isActive) { Log.d(LOGTAG, "Resolution: " + mVideoWidth + "x" + mVideoHeight); } // Set button callback mInviteBtn = (Button) findViewById(R.id.invite_btn); mInviteBtn.setOnClickListener(btnInviteListener); mDialBtn = (Button) findViewById(R.id.dial_btn); mDialBtn.setOnClickListener(btnDialListener); mSwitchCamBtn = (Button) findViewById(R.id.switch_cam_btn); // Disable button if no contact available if (adapter == null || adapter.getCount() == 0) { mDialBtn.setEnabled(false); mInviteBtn.setEnabled(false); } // Get camera info if (mNbfCameras > 1) { boolean backAvailable = checkCameraSize(CameraOptions.BACK); boolean frontAvailable = checkCameraSize(CameraOptions.FRONT); if (frontAvailable && backAvailable) { mSwitchCamBtn.setOnClickListener(btnSwitchCamListener); } else if (frontAvailable) { mOpenedCameraId = CameraOptions.FRONT; mSwitchCamBtn.setVisibility(View.INVISIBLE); } else if (backAvailable) { mOpenedCameraId = CameraOptions.BACK; mSwitchCamBtn.setVisibility(View.INVISIBLE); } else { if (LogUtils.isActive) { Log.d(LOGTAG, "No camera available for encoding"); } } } else { if (checkCameraSize(CameraOptions.FRONT)) { mSwitchCamBtn.setVisibility(View.INVISIBLE); } else { if (LogUtils.isActive) { Log.d(LOGTAG, "No camera available for encoding"); } } } // Create the live video view mVideoView = (VideoSurfaceView) findViewById(R.id.video_preview); mVideoView.setAspectRatio(mVideoWidth, mVideoHeight); if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { mVideoView.setAspectRatio(mVideoWidth, mVideoHeight); } else { mVideoView.setAspectRatio(mVideoHeight, mVideoWidth); } mSurface = mVideoView.getHolder(); mSurface.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); mSurface.setKeepScreenOn(true); mSurface.addCallback(this); // Check if session in progress if (mSharingId != null) { // Sharing in progress mDialBtn.setVisibility(View.GONE); mInviteBtn.setVisibility(View.GONE); mSpinner.setVisibility(View.GONE); mSwitchCamBtn.setEnabled((mNbfCameras > 1)); handler.post(continueOutgoingSessionRunnable); displayRemoteContact(); } else { // Sharing not yet initiated mDialBtn.setVisibility(View.VISIBLE); mInviteBtn.setVisibility(View.VISIBLE); mSwitchCamBtn.setEnabled(false); boolean canInitiate = true; if (adapter == null || adapter.getCount() == 0) { canInitiate = false; } mDialBtn.setEnabled(canInitiate); mInviteBtn.setEnabled(canInitiate); } // Register to API connection manager if (!isServiceConnected(RcsServiceName.VIDEO_SHARING)) { showMessageThenExit(R.string.label_service_not_available); return; } startMonitorServices(RcsServiceName.VIDEO_SHARING); // Add service listener try { VideoSharingService vshService = getVideoSharingApi(); if (mSharingId != null) { // Sharing is in progress: get sharing session mVideoSharing = vshService.getVideoSharing(mSharingId); if (mStarted) { displayVideoFormat(); } } vshService.addEventListener(vshListener); if (LogUtils.isActive) { Log.d(LOGTAG, "onCreate video sharing"); } } catch (RcsServiceException e) { showExceptionThenExit(e); } }
From source file:com.TaxiDriver.jy.CameraPreview.java
Preview(Context context) { super(context); mSurfaceView = new SurfaceView(context); snap = new Button(context); addView(mSurfaceView);/* w w w .j av a2 s .c om*/ // Install a SurfaceHolder.Callback so we get notified when the // underlying surface is created and destroyed. mHolder = mSurfaceView.getHolder(); mHolder.addCallback(this); mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); }
From source file:com.xgf.inspection.qrcode.google.zxing.client.CaptureActivity.java
@Override protected void onResume() { super.onResume(); // CameraManager must be initialized here, not in onCreate(). This is // necessary because we don't // want to open the camera driver and measure the screen size if we're // going to show the help on // first launch. That led to bugs where the scanning rectangle was the // wrong size and partially // off screen. cameraManager = new CameraManager(getApplication()); viewfinderView = (ViewfinderView) findViewById(R.id.viewfinder_view); viewfinderView.setCameraManager(cameraManager); resultView = findViewById(R.id.result_view); statusView = (TextView) findViewById(R.id.status_view); handler = null;/* w ww . j a v a 2 s. com*/ lastResult = null; resetStatusView(); SurfaceView surfaceView = (SurfaceView) findViewById(R.id.preview_view); SurfaceHolder surfaceHolder = surfaceView.getHolder(); if (hasSurface) { // The activity was paused but not stopped, so the surface still // exists. Therefore // surfaceCreated() won't be called, so init the camera here. initCamera(surfaceHolder); } else { // Install the callback and wait for surfaceCreated() to init the // camera. surfaceHolder.addCallback(this); surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } beepManager.updatePrefs(); inactivityTimer.onResume(); Intent intent = getIntent(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); copyToClipboard = prefs.getBoolean(PreferencesActivity.KEY_COPY_TO_CLIPBOARD, true) && (intent == null || intent.getBooleanExtra(Intents.Scan.SAVE_HISTORY, true)); source = IntentSource.NONE; decodeFormats = null; characterSet = null; if (intent != null) { String action = intent.getAction(); String dataString = intent.getDataString(); if (Intents.Scan.ACTION.equals(action)) { // Scan the formats the intent requested, and return the result // to the calling activity. source = IntentSource.NATIVE_APP_INTENT; decodeFormats = DecodeFormatManager.parseDecodeFormats(intent); if (intent.hasExtra(Intents.Scan.WIDTH) && intent.hasExtra(Intents.Scan.HEIGHT)) { int width = intent.getIntExtra(Intents.Scan.WIDTH, 0); int height = intent.getIntExtra(Intents.Scan.HEIGHT, 0); if (width > 0 && height > 0) { cameraManager.setManualFramingRect(width, height); } } String customPromptMessage = intent.getStringExtra(Intents.Scan.PROMPT_MESSAGE); if (customPromptMessage != null) { statusView.setText(customPromptMessage); } } else if (dataString != null && dataString.contains(PRODUCT_SEARCH_URL_PREFIX) && dataString.contains(PRODUCT_SEARCH_URL_SUFFIX)) { // Scan only products and send the result to mobile Product // Search. source = IntentSource.PRODUCT_SEARCH_LINK; sourceUrl = dataString; decodeFormats = DecodeFormatManager.PRODUCT_FORMATS; } else if (isZXingURL(dataString)) { // Scan formats requested in query string (all formats if none // specified). // If a return URL is specified, send the results there. // Otherwise, handle it ourselves. source = IntentSource.ZXING_LINK; sourceUrl = dataString; Uri inputUri = Uri.parse(sourceUrl); returnUrlTemplate = inputUri.getQueryParameter(RETURN_URL_PARAM); returnRaw = inputUri.getQueryParameter(RAW_PARAM) != null; decodeFormats = DecodeFormatManager.parseDecodeFormats(inputUri); } characterSet = intent.getStringExtra(Intents.Scan.CHARACTER_SET); } }
From source file:com.cellbots.logger.LoggerActivity.java
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); application = (LoggerApplication) getApplication(); // Keep the screen on to make sure the phone stays awake. getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); mIsRecording = false;/*from w ww .ja v a2 s . co m*/ useZip = getIntent().getBooleanExtra(EXTRA_USE_ZIP, true); final int mode = getIntent().getIntExtra(EXTRA_MODE, MODE_VIDEO_FRONT); if ((mode == MODE_VIDEO_FRONT) || (mode == MODE_VIDEO_BACK)) { if (mode == MODE_VIDEO_FRONT) { setContentView(R.layout.video_front_mode); } else { setContentView(R.layout.video_back_mode); } mCamcorderView = (AbstractCamcorderPreview) findViewById(R.id.surface); final SurfaceHolder previewHolder = mCamcorderView.getHolder(); previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } else { mDelay = getIntent().getIntExtra(EXTRA_PICTURE_DELAY, 30) * 1000; if (mDelay < 0) { mDelay = 0; } setContentView(R.layout.pictures_mode); mCameraView = (CameraPreview) findViewById(R.id.surface); } // Setup the initial available space mStatFs = new StatFs(Environment.getExternalStorageDirectory().toString()); float percentage = (float) (mStatFs.getBlockCount() - mStatFs.getAvailableBlocks()) / (float) mStatFs.getBlockCount(); mFreeSpacePct = (int) (percentage * 100); mStorageBarImageView = (BarImageView) findViewById(R.id.storage_barImageView); mStorageBarImageView.setPercentage(percentage); mStorageTextView = (TextView) findViewById(R.id.storage_text); mStorageSpacerTextView = (TextView) findViewById(R.id.storage_text_spacer); mStorageTextView.setText(mFreeSpacePct + "%"); mStorageSpacerTextView.setPadding(mStorageSpacerTextView.getPaddingLeft(), (int) ((1 - percentage) * UI_BAR_MAX_TOP_PADDING), mStorageSpacerTextView.getPaddingRight(), mStorageSpacerTextView.getPaddingBottom()); mFlashingRecGroup = (LinearLayout) findViewById(R.id.flashingRecGroup); mRecTimeTextView = (TextView) findViewById(R.id.recTime); mGpsLocationView = (TextView) findViewById(R.id.gpsLocation); mPictureCountView = (TextView) findViewById(R.id.pictureCount); mDataDrawer = (SlidingDrawer) findViewById(R.id.dataDrawer); mDiagnosticsDrawer = (SlidingDrawer) findViewById(R.id.diagnosticsDrawer); final ImageButton recordButton = (ImageButton) findViewById(R.id.button_record); recordButton.setOnClickListener(new View.OnClickListener() { // @Override @Override public void onClick(View v) { synchronized (mIsRecording) { if ((mode == MODE_VIDEO_FRONT) || (mode == MODE_VIDEO_BACK)) { if (!mIsRecording) { try { mIsRecording = true; recordButton.setImageResource(R.drawable.rec_button_pressed); // initializes recording mCamcorderView.initializeRecording(); // starts recording mCamcorderView.startRecording(); startRecTime = System.currentTimeMillis(); new Thread(updateRecTimeDisplay).start(); if (mRemoteControl != null) mRemoteControl.broadcastMessage("*** Recording Started ***\n"); } catch (Exception e) { Log.e("ls", "Recording has failed...", e); Toast.makeText(getApplicationContext(), "Camera hardware error. Please restart the application.", Toast.LENGTH_LONG) .show(); finish(); return; } } else { cleanup(); } } else { if (!mIsRecording) { try { mIsRecording = true; recordButton.setImageResource(R.drawable.rec_button_pressed); mCameraView.takePictures(mDelay); new Thread(updateRecTimeDisplay).start(); } catch (Exception e) { Log.e("ls", "Taking pictures has failed...", e); Toast.makeText(getApplicationContext(), "Taking pictures is not possible at the moment: " + e.toString(), Toast.LENGTH_SHORT).show(); } } else { cleanup(); } } } } }); final ImageButton dataButton = (ImageButton) findViewById(R.id.button_data); dataButton.setOnClickListener(new View.OnClickListener() { // @Override @Override public void onClick(View v) { if (mDataDrawer.isOpened()) { dataButton.setImageResource(R.drawable.data_button_up); mDataDrawer.animateClose(); } else { dataButton.setImageResource(R.drawable.data_button_pressed); mDataDrawer.animateOpen(); } } }); final ImageButton diagnosticsButton = (ImageButton) findViewById(R.id.button_diagnostics); diagnosticsButton.setOnClickListener(new View.OnClickListener() { // @Override @Override public void onClick(View v) { if (mDiagnosticsDrawer.isOpened()) { diagnosticsButton.setImageResource(R.drawable.diagnostics_button_up); mDiagnosticsDrawer.animateClose(); } else { diagnosticsButton.setImageResource(R.drawable.diagnostics_button_pressed); mDiagnosticsDrawer.animateOpen(); } } }); // setupSensors(); initSensorUi(); }
From source file:com.longle1.facedetection.MainActivity.java
CameraPreview(Context context, Camera.PreviewCallback previewCallback) { super(context); this.previewCallback = previewCallback; // Install a SurfaceHolder.Callback so we get notified when the // underlying surface is created and destroyed. mHolder = getHolder();/*w w w .j ava2s .c om*/ mHolder.addCallback(this); mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); }
From source file:com.youku.player.base.YoukuBasePlayerActivity.java
@SuppressWarnings("deprecation") private void initPlayAndSurface() { surfaceView = mYoukuPlayerView.surfaceView; mYoukuPlayerView.mMediaPlayerDelegate = mediaPlayerDelegate; //?YoukuPlayerViewMediaPlayerDelegate // mediaPlayerDelegate.mediaPlayer = BaseMediaPlayer.getInstance(); //MediaPlayerDelegate? mediaPlayerDelegate.mediaPlayer = RemoteInterface.baseMediaPlayer; //MediaPlayerDelegate? surfaceHolder = surfaceView.getHolder(); surfaceHolder.addCallback(mediaPlayerDelegate.mediaPlayer); //?surface holder?mediaplayer if (!isHighEnd) surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); }