Android相机(手电筒)API太慢了

Bry*_*mba 5 performance android android-camera android-fragments

我制作了一个Flashlight应用程序,我使用了Fragments.当我按下按钮时,灯笼灯延迟超过4秒,我不知道发生了什么.另外,当我再次按下开关按钮时,手电筒没有关闭任何想法?

另外,我想用另一个按钮制作频闪灯笼灯.

我在网上搜索,但我没有找到另一个选项来制作这个功能,只有这个.

这是我的代码

import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Switch;

public class HerramientasFragment extends Fragment {

  private Camera cam;
  private Switch linterna;

  public HerramientasFragment() {
      // Required empty public constructor
  }

  @Override
  public void onCreate(Bundle savedInstanceState) {
      cam = Camera.open();
      super.onCreate(savedInstanceState);
  }

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
      View masterView =  inflater.inflate(R.layout.fragment_herramientas, container, false);
      linterna = (Switch) masterView.findViewById(R.id.switch_linterna);
      linterna.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Switch liternaSwitch = (Switch) v;

            Parameters p;

            if (liternaSwitch.isChecked()) {
                p = cam.getParameters();
                p.setFlashMode(Parameters.FLASH_MODE_TORCH);
                cam.setParameters(p);
                cam.startPreview();
            } else {
                p = cam.getParameters();
                p.setFlashMode(Parameters.FLASH_MODE_OFF);
                cam.setParameters(p);
                cam.stopPreview();
            }

        }
    });

    return masterView;
}

}
Run Code Online (Sandbox Code Playgroud)

小智 2

4 秒的延迟可能与硬件/操作系统相关并且不受您的控制。这并不是说它无法修复,但我无法找到与之相关的任何内容(一些 Android 专家可能有更好的想法)。

灯没有关闭可能是因为您需要按照此答案cam.release();中所述进行添加。

至于频闪灯,我找到了这个教程。这似乎几乎正是您正在寻找的东西。