shabah

ساخت چراغ قوه

2 ارسال در این موضوع قرار دارد

سلام خواستم یه برنامه با یک دکمه بنویسم که وقتی روی دکمه کلیک شد چراغ قوه روشن بشه

در متد ست آن کلیک لیستنر از چه کدی باید استفاده کنم؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

برای اینکار روش قطعی نیست ولی کد زیر 95 درصد جواب میده

خارج از onCreate :

    SurfaceView surfaceView;

    SurfaceHolder surfaceHolder;

    Camera camera;

Boolean FlashState = false;

داخل onCreate :

        surfaceView = (SurfaceView)android.findViewById(R.id.surface1);

        surfaceHolder = surfaceView.getHolder();

        surfaceHolder.addCallback(this);

داخل onResume :

        super.onResume();

        try {

            camera = Camera.open();

        } catch (Exception e) {

            Log.d("Flashlight", e.toString());

        }

تابع روشن خاموش کردن فلش :

    public void setFlashState(Boolean b){

        if(getActivity().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH) && camera != null) {

            if(b){

                Parameters p = camera.getParameters();

                //---works with Android 2.x as well---

                try{

                    p.setFlashMode(Parameters.FLASH_MODE_TORCH);

                    camera.setParameters(p);

                    camera.startPreview();

                    camera.setPreviewDisplay(surfaceHolder);

                    FlashState = true;

                }catch(IOException e){

                    try{

                        p.setFlashMode(Parameters.FLASH_MODE_ON);

                        camera.setParameters(p);

                        camera.startPreview();

                        camera.setPreviewDisplay(surfaceHolder);

                        FlashState = true;

                    }catch(Throwable ee){

                        ee.printStackTrace();

                    }

                    e.printStackTrace();

                }

            }else{

                Parameters p = camera.getParameters();

                p.setFlashMode(Parameters.FLASH_MODE_OFF);

                camera.setParameters(p);

                camera.stopPreview();

                FlashState = false;

            }

        }else{

           

        }

    }

برای روشن کردن فلش => SetFlashState(true);

برای خاموش کردن فلش => SetFlashState(false);

البته نیاز هست داخل فایل xml تون کد زیر رو هرجا که خواستید قرار بدید:

            android:id="@+id/surface1"

            android:layout_width="1dp"

            android:layout_height="1dp" />

حتما کد زیر رو بنویسید و گرنه در کار دیگر برنامه هایی که از دوربین استفاده می کنند اختلال ایجاد میشود:

    @Override

    public void onPause() {

        super.onPause();

        setFlashState(false);

        camera.release();

    }

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری