Tworzę aplikację Flashlight i używam Fragmentów. Po naciśnięciu przycisku lampka latarni opóźnia się o ponad 4 sekundy i nie wiem, co się stanie. Również, gdy I naciśniesz przycisk przełącznika innym razem, latarka się nie wyłącza Masz pomysł?Interfejs API aparatu Android (Flashlight) zbyt powolny
Chciałbym również zrobić stroboskopowe światło latarni z innym przyciskiem.
Szukam w Internecie, ale nie mogę znaleźć innej opcji, aby tę funkcję, tylko to.
to jest mój 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;
}
}
Na jakim urządzeniu się testujesz? Czy opóźnienie występuje również w innych aplikacjach aparatu? – Saket
Testuję w GALAXY S4, i pobrałem inną aplikację, a latarka jest bardzo szybka i nie opóźnia się. –