标签: android-camera

我的Android应用程序的"相机"模块的"自动对焦"功能

几天以来,我一直在使用CAMERA模块进行应用.我已经定制了完整的相机模块,而不是通过意图调用硬件内置的移动相机.我已经使用了快门,图片等的回叫.现在我正在尝试为这个定制的相机添加ZOOM和AUTO-FOCUS功能.任何人都可以告诉我添加ZOOM和AUTO-FOCUS功能的方法以及清单文件中应该提到的所需权限..希望我会尽快得到帮助.

camera android autofocus camera-calibration android-camera

0
推荐指数
1
解决办法
6652
查看次数

Android - 前置摄像头预览SurfaceView

我正在使用下面的代码来显示一个内部的front_camera surfaceView,但是当我在三星Galaxy S plus上尝试这个代码时,所有屏幕都是黑色的,但没有错误发生.有谁知道它为什么会发生?

public class TestLedActivity extends Activity {
  private SurfaceView preview=null;
  private SurfaceHolder previewHolder=null;
  private Camera camera=null;
  private boolean inPreview=false;

  private int id;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    int currentapiVersion = android.os.Build.VERSION.SDK_INT;
    if (currentapiVersion > android.os.Build.VERSION_CODES.FROYO){
         id=findFrontFacingCamera(); 
         Log.d("TestLedActivity","L'id trovato e': "+id);
         camera = Camera.open(id); 
    } else{
        Log.d("TestLedActivity","La versione e' froyo");
        camera = Camera.open();
    }
    preview=(SurfaceView)findViewById(R.id.cpPreview);

            // TODO Auto-generated method stub
            previewHolder=preview.getHolder();
            previewHolder.addCallback(surfaceCallback);
            previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);


  }

  @Override
  public void onResume() {
    super.onResume();   



  }

  @Override …
Run Code Online (Sandbox Code Playgroud)

android android-camera

0
推荐指数
1
解决办法
1万
查看次数

在Android中启用相机时,音频播放会停止吗?

我正在开发一个需要音频/视频聊天的应用...我的问题是当我开始捕捉视频时音频播放完全停止.

技术说明 我使用AudioTrack Class和AudioTrack.OnPlaybackPositionUpdateListener进行音频播放.我使用Camera和Camera.PreviewCallBack进行视频录制.

现在,一旦摄像头启动,AudioTrack类的回叫就会停止工作.我该怎么做才能解决这个问题?我有HTC的设备,它有Android2.2.

编辑 因为我不能在这里发布完整的代码...(我无法访问视频模块的代码),我在这里列出了这个场景: -

  1. 音频聊天已经开始,音频正在播放,这意味着onPeriodicNotification()被正确调用..

public void start(){

    bufferSize = AudioTrack.getMinBufferSize(sampleRateInHz, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT);

    if (bufferSize != AudioTrack.ERROR_BAD_VALUE && bufferSize != AudioTrack.ERROR) {
        audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, this.sampleRateInHz, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT,
                this.bufferSize, AudioTrack.MODE_STREAM);
        if (audioTrack != null && audioTrack.getState() == AudioTrack.STATE_INITIALIZED) {
            Log.i(LOG_TAG, "Audio Track instance created buffer Size : " + this.bufferSize);

            audioTrack.setPositionNotificationPeriod(320);
            audioTrack.setPlaybackPositionUpdateListener(this);

            // init All the jitter variables
            initVariables();
            // short[] tempBuf = shortBuffer;//new short[bufferSize / 2];
            audioTrack.write(shortBuffer, 0, shortBuffer.length);
            audioTrack.write(shortBuffer, 0, shortBuffer.length);
            audioTrack.write(shortBuffer, 0, …
Run Code Online (Sandbox Code Playgroud)

audio android android-ndk android-camera

0
推荐指数
1
解决办法
912
查看次数

如何使用commonsware相机库打开相机闪光灯

我想知道如何使用commonsware相机库打开闪光灯:https://github.com/commonsguy/cwac-camera

我想我必须在我的相机主机中覆盖,但这不起作用.

@Override
public Camera.Parameters adjustPreviewParameters(Camera.Parameters parameters)
{
    parameters.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
    return super.adjustPreviewParameters(parameters);
}
Run Code Online (Sandbox Code Playgroud)

问候,

camera android android-camera commonsware-cwac

0
推荐指数
1
解决办法
854
查看次数

不为SurfaceView上显示的每个帧调用onPreviewFrame

我的SurfaceView实现Camera.PreviewCallback&的子类SurfaceHolder.Callback.

private SurfaceHolder mHolder;
private Camera mCamera;

private final FPSCounter fpscounter = new FPSCounter();

public MySurfaceView(Context context, AttributeSet attrs) {
    super(context, attrs);
    mHolder = getHolder();
    mHolder.addCallback(this);
}

@Override
public void onPreviewFrame(byte[] data, Camera camera) {
    fpscounter.logFrame();
    Log.d("fps", String.valueOf(fpscounter.getLastFrameCount()));
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
    synchronized (this) {
        mCamera.stopPreview();

        Camera.Parameters parameters = mCamera.getParameters();
        parameters.setRecordingHint(true);
        parameters.setPreviewFormat(ImageFormat.NV21);

        mCamera.setParameters(parameters);

        try {
            mCamera.setPreviewDisplay(holder);
            mCamera.setPreviewCallback(this);
            mCamera.startPreview();
        } catch (IOException e) {
            e.printStackTrace();
        } …
Run Code Online (Sandbox Code Playgroud)

android surfaceview android-camera

0
推荐指数
1
解决办法
3687
查看次数

如何从相机中捕捉图像,碎片,

我是Android新手,我已经做了很多培训,但图像没有从相机加载.以下是我从相机或图库中捕获图像的代码:

    public void showDiloag(){
    Dialog dialog = new Dialog(getActivity());
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setTitle("Choose Image Source");
    builder.setItems(new CharSequence[] { "Gallery", "Camera" },
            new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog,
                        int which) {
                    switch (which) {
                    case 0:
                        Intent intent = new Intent(
                                Intent.ACTION_GET_CONTENT);
                        intent.setType("image/*");

                        Intent chooser = Intent
                                .createChooser(
                                        intent,
                                        "Choose a Picture");
                        getAcitivity.startActivityForResult(
                                chooser,
                                ACTION_REQUEST_GALLERY);

                        break;

                    case 1:
                        Intent cameraIntent = new Intent(
                                android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                        startActivityForResult(
                                cameraIntent,
                                ACTION_REQUEST_CAMERA);

                        break;

                    default:
                        break;
                    }
                }
            });

    builder.show();
    dialog.dismiss();
}
Run Code Online (Sandbox Code Playgroud)

并显示该照片: …

android android-image android-camera android-imageview

0
推荐指数
1
解决办法
5539
查看次数

如何监控android Camera的当前FocalLength

我有一个SurfaceView拥有相机预览.我已将相机对焦模式设置为:Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO

并添加了一个AutoFocus回调.当我运行应用程序时,我可以看到相机实时调整其焦点,但autoFocusCallback只会被触发一次,当它发生时,它总是返回相同的值.(2.95)无论我来自焦点对象有多近或多远.

想知道我做错了什么..是否有可能获得实际焦距是什么的实时信息?

我的SurfaceView,onSurfaceChanged代码:

SurfaceHolder.Callback surfaceHolderListener = new SurfaceHolder.Callback() {

            public void surfaceCreated(SurfaceHolder holder) {
                camera=Camera.open();
            try {
                camera.setPreviewDisplay(previewHolder);
               camera.setDisplayOrientation(90);

            }
                catch (Throwable e){ }
            }
            public void surfaceChanged(SurfaceHolder holder, int format, int width, int height)
            {

                Parameters params = camera.getParameters();
               Rect centralFocusArea = new Rect();
               centralFocusArea.set(holder.getSurfaceFrame().width()/2-10, holder.getSurfaceFrame().height()/2-10, holder.getSurfaceFrame().width()/2+10, holder.getSurfaceFrame().height()/2+10);

               ArrayList<Camera.Area> focusAreas = new ArrayList<Camera.Area>();
               focusAreas.add(new Camera.Area(centralFocusArea, 1000));

                //params.setPreviewSize(width, height);
                params.setPictureFormat(PixelFormat.JPEG);
                params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
               // params.setFocusAreas(focusAreas);
                camera.setParameters(params);

                camera.startPreview();
                camera.autoFocus(new AutoFocusCallback() {

                    @Override
                    public void onAutoFocus(boolean …
Run Code Online (Sandbox Code Playgroud)

android android-camera

0
推荐指数
1
解决办法
3399
查看次数

相机图像太小

从最近几天开始,我遇到的相机图像问题太小,尺寸为120 x 160.

场景是当我从相机捕获图像并将该图像转换为byte []时,它变得太小.

以下是我使用的代码:

 Bitmap unscaledBitmap  = (Bitmap) data.getExtras().get("data");
 ByteArrayOutputStream bytes = new ByteArrayOutputStream();
 unscaledBitmap  .compress(Bitmap.CompressFormat.PNG, 30, bytes);
 byte[] bytesDoc1 = bytes.toByteArray();
Run Code Online (Sandbox Code Playgroud)

对此没有任何了解,但是我已经尝试了许多解决方案,但都没有为我工作.

请帮我.

android bytearray bitmap android-camera android-camera-intent

0
推荐指数
1
解决办法
1745
查看次数

没有在Android 6及更高版本中显示图片

我正在尝试学习如何在应用程序中使用相机,这就是我所达到的,想法是有一个按钮打开相机,我们拍照后图片会立即显示在屏幕上,第二个按钮是从早期版本无法立即显示图片,必须单击以显示它.

无论如何我的问题是,这个代码没有显示在Android 6的图片..在我的Android 5设备上它工作正常..图片保存在"sdcard/camera_app/cam_image.jpg"路径的任何一种方式和按钮没有还没有工作,所以我在思考一下imageview已经从android 5改为6了?问题是如何使这个功能为Android 6手机

public class Add_Comment_Picture extends AppCompatActivity {
    static final int CAM_REQUEST = 1;
    ImageView imageView;
    Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add__comment__picture);
        button = (Button) findViewById(R.id.button);
        imageView = (ImageView) findViewById(R.id.imageView);
        Button button2 = (Button) findViewById(R.id.button3);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent camera_intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                File file = getFile();
                camera_intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
                startActivityForResult(camera_intent , CAM_REQUEST);
            }
        });
        button2.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                String path = "sdcard/camera_app/cam_image.jpg";
                imageView.setImageDrawable(Drawable.createFromPath(path)); …
Run Code Online (Sandbox Code Playgroud)

android imageview android-camera onactivityresult

0
推荐指数
1
解决办法
1346
查看次数

不幸的是,相机已停止在Kitkat工作

我正在尝试整合在Android中拍照.在运行我正在运行的应用程序并且错误" 不幸的是,相机已停止 ",但我的应用程序没有崩溃.我在Android"KITKAT"中发现了这个问题.这是我用来拍照的示例代码,

使用这个功能我正在拍照,

private void take_picture_intent() {
        Intent takePictureIntent = (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT)
                ? new Intent(MediaStore.ACTION_IMAGE_CAPTURE_SECURE)
                : new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        if (takePictureIntent.resolveActivity(this.getActivity().getPackageManager()) != null) {
            File photoFile = null;
            try {
                photoFile = createImageFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (photoFile != null) {
                photoURI = FileProvider.getUriForFile(this.getActivity(), "com.android.myapplication.fileprovider", photoFile);
                Log.e(TAG, "photoFile: "+photoFile+" ,URI : "+photoURI.getPath());
                takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
                getActivity().startActivityForResult(takePictureIntent, SelectMedia.IMAGE_CAPTURE_AT_THE_DOOR);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

此函数用于生成图像路径,

private File createImageFile() throws IOException {
        // Create an image file name
        String timeStamp = …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-4.4-kitkat

0
推荐指数
1
解决办法
858
查看次数