Android MediaRecorder в потоковом режиме - PullRequest
8 голосов
/ 06 сентября 2011

Возможно ли "потоковое" отображение результата MediaRecorder?

Уникальный метод, который я вижу, это mediaRecorder.setOutputFile, который получает FileDescriptor. Так что я могу записать результат в файл или отправить через сокет получателю.

Я попробовал второе решение, но полученное видео повреждено, потому что в потоке его нельзя "найти".

Идея состоит в том, чтобы использовать камеру устройства Android для публикации результатов в Red5.

Ответы [ 2 ]

2 голосов
/ 07 сентября 2011

Да, возможно, есть много примеров для этого. Вы можете проверить sipdroid пример. Или даже IP-камера Android , которая намного проще.

Удачи

1 голос
/ 07 декабря 2016

Да, это возможно. Вот пример кода с FileDescriptor и сокетом:

    socket = new Socket("192.168.1.234",8888);
    ParcelFileDescriptor fileDescriptor = ParcelFileDescriptor.fromSocket(socket);

    mRecorder = new MediaRecorder();
    mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    mRecorder.setOutputFile(fileDescriptor.getFileDescriptor);
    mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

    try {
        mRecorder.prepare();
    } catch (IOException e) {
        Log.e(LOG_TAG, "prepare() failed");
    }

    mRecorder.start();
...