Не получается использовать фронтальную камеру
Задняя камера работает прекрасно как с фото, так и с видео, но вот на фронтальную (переднюю) никак не получается перейти.
С помощью: Camera.CameraInfo.CAMERA_FACING_FRONT; (как и другими способами) я определил, что фронтальной камере принадлежит индексация 1, а задней 0.
Манифест:
uses-permission android:name="android.permission.CAMERA"
uses-feature android:name="android.hardware.camera"
Может существует какое-то специальное разрешение именно для фронтальной камеры? Хотя я пробовал и:
uses-feature android:name="android.hardware.camera.front" android:required="false"
Причём и с false и с true на всякий случай.
Импорт: import android.hardware.Camera; import android.hardware.Camera.Size;
Что я пробовал:
- camera = Camera.open(1);
- params.set("camera-id",1); где, естественно, пробовал различные варианты в кавычках, которые удалось найти в интернете. Другие способы мне тоже не помогли.
Ориентация изображения (что часто описывается при упоминании о фронтальной камере) меня сейчас волнует меньше всего. Камеры телефонов рабочие, тем более я пробовал на разных моделях. Если это имеет значение, то меня интересует только видеосъёмка на фронтальную камеру.
Ниже очень упрощённая часть моего рабочего(!) кода (без указания файлов, настроек и др.)
public void VideoOn(){ params = camera.getParameters(); //Здесь идут настройки camera.setParameters(params); if (prepareVideoRecorder()) { mediaRecorder.start(); } else {releaseMediaRecorder(); } } public static boolean prepareVideoRecorder() { camera.stopPreview(); camera.unlock(); mediaRecorder = new MediaRecorder(); mediaRecorder.setCamera(camera); mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); //Здесь идут настройки try {mediaRecorder.prepare();} catch (Exception e) { e.printStackTrace(); releaseMediaRecorder(); return false;} return true; }
Спасибо.