Запись видео с VideoView

В настоящее время выполняется проект в прямом эфире, и мне удается воспроизвести видео в прямом эфире. Теперь моя следующая задача - записать видео, которое воспроизводится в VideoView. Я искал, смог найти захват видео, но с поверхностью (камерой), но здесь, в VideoView, у меня нет поверхности.

любая помощь оценена

Ответы

Ответ 1

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

private final int TIMEOUT_CONNECTION = 5000; //5sec
private final int TIMEOUT_SOCKET = 30000; //30sec
private final int BUFFER_SIZE = 1024 * 5; // 5MB

private final int TIMEOUT_CONNECTION = 5000; //5sec
private final int TIMEOUT_SOCKET = 30000; //30sec
private final int BUFFER_SIZE = 1024 * 5; // 5MB

try {
  URL url = new URL("http://....");

  //Open a connection to that URL.
  URLConnection ucon = url.openConnection();
  ucon.setReadTimeout(TIMEOUT_CONNECTION);
  ucon.setConnectTimeout(TIMEOUT_SOCKET);

  // Define InputStreams to read from the URLConnection.
  // uses 5KB download buffer
  InputStream is = ucon.getInputStream();
  BufferedInputStream in = new BufferedInputStream(is, BUFFER_SIZE);
  FileOutputStream out = new FileOutputStream(file);
  byte[] buff = new byte[BUFFER_SIZE];

  int len = 0;
  while ((len = in.read(buff)) != -1)
  {
      out.write(buff,0,len);
  }
} catch (IOException ioe) {
  // Handle the error
} finally {
  if(in != null) {
    try {
      in.close();
    } catch (Exception e) {
      // Nothing you can do
    }
  }
  if(out != null) {
    try {
      out.flush();
      out.close();
    } catch (Exception e) {
      // Nothing you can do
    }
  }
}

Если сервер не поддерживает загрузку, вы ничего не можете сделать.

Ответ 2

Вы можете использовать платформенные инструменты и записывать видео, используя:

adb shell screenrecord --verbose /sdcard/demo.mp4

Замените демо с любым именем файла, которое вы хотите. Также это будет размещено на вашем телефоне, а по умолчанию - 6 минут. Проверьте параметры записи на экране.

Чтобы вытащить файл на компьютер... (следующая команда или использовать монитор устройств Android

adb pull /sdcard/demo.mp4

Я использовал это, чтобы записывать демо приложения, и даже играл на YouTube, и записывал это. У него нет звука, так что это может быть серьезной проблемой. Но это входит в sdk и записывает любой экран, пока он записывается.