Я пытаюсь получить видеопоток из точки A (телефон Android 2.1) в точку B (мой сервер) в реальном времени. . Как мне это сделать? Ниже приведены мои попытки (немного длинные, но краткие! )
Цель состоит в том, чтобы передать на сервер часовое видео, записанное с телефона, без приостановки / остановки потока. задержка до нескольких минут не проблема. Я пробовал три подхода
, к сожалению, обе попытки потерпели неудачу.
, я получаю этот красивый бесполезный stacktrace
ОШИБКА / AndroidRuntime (18532): вызвано: java.lang.RuntimeException: сбой при запуске. ОШИБКА / AndroidRuntime (18532): в android.media.MediaRecorder.start (собственный метод) ОШИБКА / AndroidRuntime (18532): в com.example.demovideo.DemoVideo.initializeCamera (...) ...
та же ошибка 2
фрагменты кода (части опущены)
1)
fileOut = new FileOutputStream(pathToFile);
...
recorder.setOutputFile(fileOut.getFD());
recorder.prepare()
recorder.start()
// in an Async Thread
fileIn = FileInputStream(fileOut.getFD);
while (recording) {
fos.flush();
Log.w("---", "bytesAvailable: " + fileIn.available()); //always returns 24
Thread.sleep(1000);
}
2)
// in a Thread
server = new LocalServerSocket(SOCKET_ADDRESS);
while (true){
receiver = server.accept();
if (receiver != null){
InputStream input = receiver.getInputStream();
... // processing would go here
} }
sender = new LocalSocket();
sender.connect(new LocalSocketAddress(SOCKET_ADDRESS));
recorder.setOutputFile(sender.getFileDescriptor());
...
recorder.prepare();
recorder.start(); // <- error
sender.getOutputStream (). Write (message.getBytes ());