Я пытаюсь установить
mMediaRecorder.setProfile((CamcorderProfile.get(CamcorderProfile.QUALITY_QVGA)));
когда я запустил службы камеры, я вижу в журнале эту ошибку:
E/MediaRecorder: setOutputFormat called in an invalid state: 4
E/RecorderService: null ошибка
W/System.err: java.lang.IllegalStateException
W/System.err: at android.media.MediaRecorder.setOutputFormat(Native Method)
W/System.err: at android.media.MediaRecorder.setProfile(MediaRecorder.java:539)
W/System.err: at com.hidecamera.hideng.services_record.RecorderService.startRecording(RecorderService.java:193)
W/System.err: at com.hidecamera.hideng.services_record.RecorderService.onStartCommand(RecorderService.java:73)
W/System.err: at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4128)
W/System.err: at android.app.ActivityThread.access$2400(ActivityThread.java:229)
W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1924)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err: at android.os.Looper.loop(Looper.java:148)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:7325)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
[ 03-02 12:53:47.295 13476:13476 E/ ]
Available MB : 2496291
если я удалю код, запись видео начнется, но в низком качестве
mServiceCamera.unlock();
mMediaRecorder = new MediaRecorder();
mMediaRecorder.setCamera(mServiceCamera);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
selectFolder(MainActivity.isHideFolder);
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
mMediaRecorder.setOrientationHint(CameraUtil.computePictureRotation());
mMediaRecorder.setProfile((CamcorderProfile.get(CamcorderProfile.QUALITY_QVGA)));
mMediaRecorder.prepare();
mMediaRecorder.start();
ОБНОВЛЕНИЕ:
public boolean startRecording() {
try {
Toast.makeText(getBaseContext(), "Recording Started", Toast.LENGTH_SHORT).show();
if (!MainActivity.currentCameraId) {
mServiceCamera = Camera.open(0);//CAMERA_FACING_BACK
Log.d(TAG, "CAMERA_FACING_BACK");
} else {
mServiceCamera = Camera.open(1);//CAMERA_FACING_FRONT
Log.d(TAG, "CAMERA_FACING_FRONT");
}
CamcorderProfile profile = CamcorderProfile.get(getqualityvideo(MainActivity.quality));
mServiceCamera.unlock();
mMediaRecorder = new MediaRecorder();
mMediaRecorder.setCamera(mServiceCamera);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
int width = profile.videoFrameWidth;
int height = profile.videoFrameHeight;
mMediaRecorder.setVideoSize(width, height);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
selectFolder(MainActivity.isHideFolder);//папка с видео
mMediaRecorder.setOrientationHint(CameraUtil.computePictureRotation());
mMediaRecorder.prepare();
mMediaRecorder.start();
mRecordingStatus = true;
return true;
} catch (IllegalStateException e) {
Log.e(TAG, e.getMessage() + " ошибка IllegalStateException");
return false;
} catch (IOException e) {
Log.e(TAG, e.getMessage() + " ошибка IOException");
return false;
} catch (NullPointerException e) {
Log.e(TAG, e.getMessage() + " ошибка NullPointerException");
return false;
} catch (Exception e) {
Log.e(TAG, e.getMessage() + " ошибка Exception");
return false;
}
}
после начала записи в логах я увидел это:
03-04 00:03:33.073 23949-23949/com.joukehiden.camera E/MediaRecorder: start failed: -38
03-04 00:03:33.073 23949-23949/com.joukehiden.camera E/RecorderService: null ошибка IllegalStateException
[ 03-04 00:03:33.076 23949:23949 E/ ]
Available MB : 3052817
Подробнее здесь: https://stackoverflow.com/questions/425 ... setprofile
IllegalStateException при установке mMediaRecorder.setProfile ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1733769188
Anonymous
Я пытаюсь установить
mMediaRecorder.setProfile((CamcorderProfile.get(CamcorderProfile.QUALITY_QVGA)));
когда я запустил службы камеры, я вижу в журнале эту ошибку:
E/MediaRecorder: setOutputFormat called in an invalid state: 4
E/RecorderService: null ошибка
W/System.err: java.lang.IllegalStateException
W/System.err: at android.media.MediaRecorder.setOutputFormat(Native Method)
W/System.err: at android.media.MediaRecorder.setProfile(MediaRecorder.java:539)
W/System.err: at com.hidecamera.hideng.services_record.RecorderService.startRecording(RecorderService.java:193)
W/System.err: at com.hidecamera.hideng.services_record.RecorderService.onStartCommand(RecorderService.java:73)
W/System.err: at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4128)
W/System.err: at android.app.ActivityThread.access$2400(ActivityThread.java:229)
W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1924)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err: at android.os.Looper.loop(Looper.java:148)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:7325)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
[ 03-02 12:53:47.295 13476:13476 E/ ]
Available MB : 2496291
если я удалю код, запись видео начнется, но в низком качестве
mServiceCamera.unlock();
mMediaRecorder = new MediaRecorder();
mMediaRecorder.setCamera(mServiceCamera);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
selectFolder(MainActivity.isHideFolder);
mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
mMediaRecorder.setOrientationHint(CameraUtil.computePictureRotation());
mMediaRecorder.setProfile((CamcorderProfile.get(CamcorderProfile.QUALITY_QVGA)));
mMediaRecorder.prepare();
mMediaRecorder.start();
ОБНОВЛЕНИЕ:
public boolean startRecording() {
try {
Toast.makeText(getBaseContext(), "Recording Started", Toast.LENGTH_SHORT).show();
if (!MainActivity.currentCameraId) {
mServiceCamera = Camera.open(0);//CAMERA_FACING_BACK
Log.d(TAG, "CAMERA_FACING_BACK");
} else {
mServiceCamera = Camera.open(1);//CAMERA_FACING_FRONT
Log.d(TAG, "CAMERA_FACING_FRONT");
}
CamcorderProfile profile = CamcorderProfile.get(getqualityvideo(MainActivity.quality));
mServiceCamera.unlock();
mMediaRecorder = new MediaRecorder();
mMediaRecorder.setCamera(mServiceCamera);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
int width = profile.videoFrameWidth;
int height = profile.videoFrameHeight;
mMediaRecorder.setVideoSize(width, height);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
selectFolder(MainActivity.isHideFolder);//папка с видео
mMediaRecorder.setOrientationHint(CameraUtil.computePictureRotation());
mMediaRecorder.prepare();
mMediaRecorder.start();
mRecordingStatus = true;
return true;
} catch (IllegalStateException e) {
Log.e(TAG, e.getMessage() + " ошибка IllegalStateException");
return false;
} catch (IOException e) {
Log.e(TAG, e.getMessage() + " ошибка IOException");
return false;
} catch (NullPointerException e) {
Log.e(TAG, e.getMessage() + " ошибка NullPointerException");
return false;
} catch (Exception e) {
Log.e(TAG, e.getMessage() + " ошибка Exception");
return false;
}
}
после начала записи в логах я увидел это:
03-04 00:03:33.073 23949-23949/com.joukehiden.camera E/MediaRecorder: start failed: -38
03-04 00:03:33.073 23949-23949/com.joukehiden.camera E/RecorderService: null ошибка IllegalStateException
[ 03-04 00:03:33.076 23949:23949 E/ ]
Available MB : 3052817
Подробнее здесь: [url]https://stackoverflow.com/questions/42552211/illegalstateexception-when-set-the-mmediarecorder-setprofile[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия