2015-08-01 19 views
5

Bir El feneri uygulaması yapıyorum ve Fragments kullanıyorum. Düğmeye bastığımda, fener ışığı 4 saniyeden fazla gecikti ve ne olduğunu bilmiyorum. Ayrıca, düğmesine bastığımda, başka bir zaman, El Feneri kapanmıyor Herhangi bir fikir?Android Camera (El feneri) API çok yavaş

Ayrıca başka bir düğme ile stroboskopik fener ışığı yapmak istiyorum.

İnternette arama yapıyorum ancak bu özelliği yalnızca başka bir şekilde yapmak için başka bir seçenek bulamıyorum.

bu benim kod

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; 
} 

} 
+1

Hangi aygıtta test yapıyorsunuz? Gecikme diğer kamera uygulamalarında da oluyor mu? – Saket

+0

Ben bir GALAXY S4 test ediyorum, ve ben başka bir uygulamayı indirdim ve el feneri çok hızlı –

cevap

2

4 saniyelik bir gecikme donanım/işletim sistemi ile ilgili ve kontrol dışı olması mümkündür olduğunu. Bu düzeltilemez demek değil, ancak onunla ilgili hiçbir şey bulamıyorum (Bazı Android uzmanları burada daha iyi bir fikre sahip olabilir).

Işıkların kapanmaması, muhtemelen this answer numaralı belgede belirtildiği gibi cam.release(); eklemeniz gerektiğinden kaynaklanmaktadır.

Stroboskopik bir ışık olarak, this tutorial'u buldum. Neredeyse tam olarak aradığın gibi görünüyor.

+1

ertelemedim Çok etrafa baktım ve yavaş kamera başlatma ile ilgili bir şey bulamadık. Umarım cevabım diğer konularda da yardımcı olur. – NitrogenReaction