Android - 让相机LED用处理器闪烁?

时间:2012-06-27 08:49:39

标签: android camera switch-statement led alternate

我正在使用定时警报(正常工作)尝试运行代码,以便在关闭和开启位置之间快速切换相机闪光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);


    }
};

1 个答案:

答案 0 :(得分:0)

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