Articles of mediarecorder

Когда я должен снова заблокировать камеру?

Android.hardware.Camera говорит мне, lock() и unlock() , что я, вероятно, не нуждаюсь в этом методе, если я «не записываю видео». Ну, я записываю видео. unlock() предполагается называть «перед вызовом android.media.MediaRecorder.setCamera (Camera)». Это достаточно просто; Я могу просто поместить вызов unlock() непосредственно перед setCamera() . Но каково подходящее время для вызова lock() ? Сразу после setCamera() […]

Запись видео в MediaRecorder в портретном режиме

Я пытаюсь создать пользовательское видео приложение. Работа с использованием только настроек в манифесте 2.2 (API 8). Все идет хорошо, но я не понимаю, почему видео в портретном режиме не отличается от lanscape one. Чтобы сделать обнаружение измененной ориентации устройства, я использую этот код в методе surfaceChanged () if (mCamera != null) { Camera.Parameters p = […]

Android getSupportedVideoSizes allways возвращает null

Мне нужна помощь с классом MediaRecorder на Android. Я пытаюсь использовать getSupportedVideoSizes чтобы получить список поддерживаемых размеров видео, но он всегда возвращает null. При тестировании следующие устройства возвращают значение null при getSupportedVideoSizes : Galaxy Nexus (Android 4.2) HTC One Mini (Android 4.4.2) HTCEVOV4G (Android 4.0.3)

Запись видео с использованием MediaRecorder и FileOutputStream создает видеофайл, который нельзя воспроизвести

Я пытаюсь реализовать функцию, в которой я могу запускать и останавливать видеозапись несколько раз, и накапливать видеоданные в File . Вот как я готовлю свой медиа-рекордер: private boolean prepareVideoRecorder(){ mMediaRecorder = new MediaRecorder(); //0 for landscape //90 for portrait //Check for available profile CamcorderProfile profile = null; if(CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_480P)){ Log.d(TAG, "480p"); profile = CamcorderProfile.get(CamcorderProfile.QUALITY_480P); }else if(CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_720P)){ […]

Android MediaRecorder и setOutputFile

Я прочитал Android SDK, и я обнаружил, что класс MediaRecorder может принимать данные от камеры, аудио или другого источника и сжимать его. С помощью метода setOutputFile вы можете указать, где вы хотите хранить данные (файл или URI), но что, если я хочу сохранить эти данные в буфере памяти и отправить его по соединению? Или обрабатывать […]

Ошибка MediaRecorder при запуске

Я искал много тем, но не ответил на них. У меня есть этот код: recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setOutputFile(mFileName); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); if(!mStartRecording) { btn.setText("Stop Recording"); try { recorder.prepare(); } catch (IOException e) { e.printStackTrace(); } recorder.start(); mStartRecording = true; } else { btn.setText("Start Recording"); mStartRecording = false; recorder.stop(); recorder.reset(); recorder.release(); recorder = null; } […]

Android MediaRecorder в потоковой передаче

Возможно ли «поток» результата MediaRecorder? Единственный метод, который я вижу, – это mediaRecorder.setOutputFile, который получает FileDescriptor. Поэтому я могу записать результат в файл или отправить через сокет в приемник. Я попробовал второе решение, но результат видео поврежден, потому что он не «доступен для поиска» в потоке. Идея состоит в том, чтобы использовать камеру устройства Android […]

Android Media Recorder записывает длительность видео, отличную от ожидаемой продолжительности

Я записал видео с помощью android Mediarecorder. (Основная проблема: мне нужно знать точное время начала [System time] и endTime [Системное время] видео, а [endTime – startTime] должно соответствовать длительности фактического видео) MediaRecorder.start startTime = System.currentTimeMillis() then on stop MediaRecorder.stop endTime = System.currentTimeMillis() Я ожидаю, что видео будет иметь такую ​​продолжительность Expected_duration = (endTime – startTime) […]

Получить поддерживаемый кодек для Android-устройства

Есть ли способ спросить устройство Android, какие аудио и видео кодеки он поддерживает для кодирования? Я нашел устройства, которые не поддерживают некоторые кодеки, перечисленные как обязательные в http://developer.android.com/guide/appendix/media-formats.html, и, похоже, есть устройства, поддерживающие дополнительный кодек, который там не указан.

Не удалось остановить скачивание мультимедиа в Android

Я столкнулся с очень странным поведением: иногда мой mediarecorder вылетает с ошибкой «Stop failed», и иногда он работает нормально. Есть ли моя ошибка или это ошибка системы? Я не могу понять, что не так. private void stopRecording(){ ticker.cancel(); ticker.purge(); recorder.stop(); startBtn.setText("Start"); recordInProcess = false; markList = locWriteTask.getMarkArray(); mCamera.lock(); recorder.release(); } private void startRecording(){ startBtn.setText("Stop"); recordInProcess […]