Android MediaRecorder: непрерывная перезапись

Я пытаюсь записать 10-секундное видео для наблюдения. Это довольно просто, используя MediaRecorder в Android. Все, что мне нужно сделать, это позвонить

mediaRecorder.setMaxDuration(10000);

Однако я хочу непрерывно перезаписывать одно и то же 10-секундное видео. Опять же, это тривиальная задача.

@Override
public void onInfo(MediaRecorder mr, int what, int extra) {
    switch (what) {
    case MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED:
        stopRecording();
        startRecording();
        break;
    }
}

Остановка и запуск (сброс) MediaRecorder занимает примерно две секунды. Если что-то важное произошло в течение этих двух секунд, я не запишу это.

Поэтому я последовал за несколькими другими, имеющими ту же проблему, используя LocalSocket и передав его дескриптор MediaRecorder

mediaRecorder.setOutputFile(sender.getFileDescriptor());

Затем AyncTask, содержащий LocalServerSocket и LocalSocket получателя

public class VirtualServer extends AsyncTask<Void, Void, Void> {
    ...
    server = new LocalServerSocket(SOCKET_ADDRESS);
    while (true) {
        receiver = server.accept();
        ...
        int len = 0;
        byte[] data = new byte[1024];
        while ((len = input.read(data)) >= 0) {
        ...

Видишь, куда это идет? Как только это будет решено, возникает новая проблема, также несколько раз решаемая в Stackru. Проблема в том, что файловый дескриптор, переданный MediaRecorder, не доступен для поиска.

Для меня это где мое понимание останавливается. К сожалению, нет четкого описания проблемы. Если кто-то может описать проблему для меня, я могу начать искать решение. В некоторых местах упоминается, что "спорный" должен быть перемещен, но затем обсуждение переходит к общей кодировке mp4, и я теряюсь во всех деталях.

Я надеюсь, что моя проблема четко сформулирована. Я не хочу передавать потоковое видео любого рода. Копание в коде, который упаковывается в RTP и попытка извлечь части, которые мне действительно нужны, еще больше запутало меня.

Ссылки, на которые я уже посмотрел:

Приветствия.

0 ответов

Другие вопросы по тегам