はアンドロイドでは、私はのAndroidカメラAPIは
答えて
私に助けてカメラで撮影した画像品質を失うことなく、カメラのAPIのフルスクリーンテクスチャビューに(意図、カメラのみAPIを使用していない)と、ナビゲーション引き出しを使用したいですカメラAPIの使用に興味があり、カメラのような機能を有効にするには、まずプレビューを取得する必要があります。プレビューは、このような独自のカスタム実装を介して取得することができ、
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder mHolder;
private Camera mCamera;
private static final String TAG = "CAMERA_PREVIEW";
private Camera.Size mPreviewSize;
public boolean isSafeToTakePicture = false;
public CameraPreview(Context context, Camera camera) {
super(context);
mCamera = camera;
// Install a SurfaceHolder.Callback so we get notified when the
// underlying surface is created and destroyed.
mHolder = getHolder();
mHolder.addCallback(this);
}
public void surfaceCreated(SurfaceHolder holder) {
// The Surface has been created, now tell the camera where to draw the preview.
try {
mCamera.setPreviewDisplay(holder);
mCamera.startPreview();
} catch (IOException e) {
Log.d(TAG, "Error setting camera preview: " + e.getMessage());
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
// empty. Take care of releasing the Camera preview in your activity.
}
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
// If your preview can change or rotate, take care of those events here.
// Make sure to stop the preview before resizing or reformatting it.
if (mHolder.getSurface() == null){
// preview surface does not exist
return;
}
// stop preview before making changes
try {
mCamera.stopPreview();
isSafeToTakePicture = false;
} catch (Exception e){
// ignore: tried to stop a non-existent preview
}
// set preview size and make any resize, rotate or
// reformatting changes here
// start preview with new settings
try {
Camera.Parameters parameters = mCamera.getParameters();
parameters.setPreviewSize(mPreviewSize.width, mPreviewSize.height);
mCamera.setParameters(parameters);
mCamera.setPreviewDisplay(mHolder);
mCamera.startPreview();
isSafeToTakePicture = true;
} catch (Exception e){
Log.d(TAG, "Error starting camera preview: " + e.getMessage());
}
}
private Camera.Size getOptimalPreviewSize(List<Camera.Size> sizes, int w, int h) {
final double ASPECT_TOLERANCE = 0.1;
double targetRatio=(double)h/w;
if (sizes == null) return null;
Camera.Size optimalSize = null;
double minDiff = Double.MAX_VALUE;
int targetHeight = h;
for (Camera.Size size : sizes) {
double ratio = (double) size.width/size.height;
if (Math.abs(ratio - targetRatio) > ASPECT_TOLERANCE) continue;
if (Math.abs(size.height - targetHeight) < minDiff) {
optimalSize = size;
minDiff = Math.abs(size.height - targetHeight);
}
}
if (optimalSize == null) {
minDiff = Double.MAX_VALUE;
for (Camera.Size size : sizes) {
if (Math.abs(size.height - targetHeight) < minDiff) {
optimalSize = size;
minDiff = Math.abs(size.height - targetHeight);
}
}
}
return optimalSize;
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
final int width = resolveSize(getSuggestedMinimumWidth(), widthMeasureSpec);
final int height = resolveSize(getSuggestedMinimumHeight(), heightMeasureSpec);
setMeasuredDimension(width, height);
if(mCamera != null) {
List<Camera.Size> mSupportedPreviewSizes = mCamera.getParameters().getSupportedPreviewSizes();
if (mSupportedPreviewSizes != null) {
mPreviewSize = getOptimalPreviewSize(mSupportedPreviewSizes, width, height);
}
}
}
}
このコードは、実際にあなたの画面サイズ、APIには、本質的に起こらない何かに合わせてプレビューをスケーリングします。
あなたがカメラを使用しているあなたの活動に、あなただけ先に行くと、このようにプレビューを開始することができ、
Camera mCamera = getCameraInstance();
// Create our Preview view and set it as the content of our activity.
mPreview = new CameraPreview(this, mCamera);
FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
preview.addView(mPreview);
プレビューを取得したら、あなたは画像をキャプチャするためにAPI機能を呼び出すことができます必要に応じてビデオを再生できます。
Thisでも、まずはデモをお試しください。
Thanxx Aneebしかし、ナビゲーション引き出しについては、私はカメラをセットアップすることができますが、ナビゲーション引き出しはいくつかの問題を作り出しています.......それでも私を助けてください........... – Prashant
この[here](http://www.androidhive.info/2015/04/android-getting-started-with-material-design/)は、材料のnav drawerを設定するためのまじめなチュートリアルです。見てください。 –
- 1. ビューポートAndroid上でカメラのAPI
- 2. カメラAPI 2プレビューフラグメントandroidで
- 3. Androidのカメラ2は:
- 4. カメラAPIの例?
- 5. は、Androidでの画像処理に最適なカメラAPIです
- 6. Androidのカメラ
- 7. Androidカメラのプレビューチュートリアル
- 8. Androidカメラのバグ
- 9. カメラAPIのカメラ2 APIメソッドcamera.autoFocus()に相当するものはありますか?最初のカメラでは
- 10. カメラAPIの理解
- 11. Android 5.0 API 21でカメラを閉じるには?
- 12. カメラ2 API
- 13. Androidのカメラのプレビューローテーション
- 14. のAndroid 5.0+カメラ2のAPI本当のフルスクリーン
- 15. Androidでカメラとカメラ2の違い
- 16. Android Camera2 APIのカメラの特性を表示
- 17. Androidカメラの開閉
- 18. IPカメラのAndroidアプリケーション
- 19. TensorFlow Androidカメラのデモ
- 20. AndroidカメラのキャプチャFFmpeg
- 21. Androidカメラ用アプリケーション
- 22. Android x86 virtualbox +カメラ
- 23. AndroidカメラHAL3
- 24. AndroidのカメラAPIアプリがonResumeでクラッシュする
- 25. Phonegap Vue js Androidのカメラ画像をAPIサーバーにアップロード
- 26. HTTPSとソニーのカメラのAPI
- 27. カメラのAPI:クロスデバイスの問題
- 28. iPhoneのカメラのAPIとズーム
- 29. カメラとcamers2 APIの違い
- 30. カメラ2 APIサムスンS5のオートフォーカス
最初にコード/回避策を共有してみてください。 –