0

我正在使用定时警报(工作正常)来尝试运行代码,该代码将在关闭和打开位置之间快速切换相机闪光灯 LED。

我正在尝试使用处理程序在两种模式之间切换,但似乎无法让它运行。我想知道是否有人可以建议另一种方式来频闪相机 LED,或者他们是否可以尝试找出我的代码有问题。

非常感谢您的帮助,我对android编程真的很陌生。

这是代码:

import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.os.Handler;


public class MyAlert extends Activity {
private Handler mHander = new Handler();

private boolean mActive = false;
    private boolean mSwap = true;   
    private Camera camera;
    final Parameters p = camera.getParameters();


        private final Runnable mRunnable = new Runnable() {

        public void run() {         
            if (mActive) {
                if (mSwap) {                    
                    p.setFlashMode(Parameters.FLASH_MODE_TORCH);
                    camera = Camera.open();
                    camera.setParameters(p);
                    camera.startPreview();
                    mSwap = false;
                    mHander.postDelayed(mRunnable, 20);
                } else {
                    p.setFlashMode(Parameters.FLASH_MODE_OFF);
                    camera = Camera.open();
                    camera.setParameters(p);
                    camera.stopPreview();
                    mSwap = true;
                    mHander.postDelayed(mRunnable, 100);
                }
            }           
        }
    };
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        startStrobe();
    }

    private void startStrobe() {        
        mActive = true;
        mHander.post(mRunnable);


    }
};
4

1 回答 1

0

AFAIR,停止预览并释放相机就足以关闭闪光灯。但真正的问题是设备的行为不同,并不总是像宣传的那样。

于 2012-06-27T08:53:31.453 回答