Как сделать запись с экрана Android? Пейзажная запись, запись видео воспроизводится в полноэкранном режиме по сравнению с частичноэкранным
В настоящее время я использую Media Projection + Media Recorder для записи экрана. Проблема, с которой я сталкиваюсь, заключается в том, что, когда мой телефон находится в альбомном режиме во время записи, записанное видео будет отображаться только в центре / середине экрана с черным сверху и снизу во время воспроизведения ( что это такое сейчас, что я хотел бы как вместо).
Я вижу там приложения (такие как AirShou), которые могут записывать в альбомной ориентации, и видео, которые они записывают, являются полноэкранными во время воспроизведения. Что мне нужно сделать, чтобы это произошло?
Спасибо!
1 ответ
В вашем вопросе вы не добавили ни одного проблемного изображения. Я пытался понять вашу проблему на моем пути. Поскольку у меня пока нет разрешения на комментирование, поэтому просто пытаюсь описать решение с предположением, что ваше видео записано и воспроизводится нормально: 1. В режиме "Пейзаж" изменения ширины и высоты вашего дисплея видят это. Изменяются ли ширина и высота в зависимости от ориентации?
Вы можете перекодировать, сбросив значение экрана записи во время ориентации экрана в альбомный режим. И добавьте новую разметку для ориентации в альбомное настроение. Вы можете видеть это
DisplayMetrics metrics = getResources().getDisplayMetrics();
int screenWidth = metrics.widthPixels;
int screenHeight = metrics.heightPixels;
int screenDensity = metrics.densityDpi;
// Start the video input.
mVirtualDisplay = mMediaProjection.createVirtualDisplay("Recording Display", screenWidth,
screenHeight, screenDensity, 0 /* flags */, mInputSurface,
null /* callback */, null /* handler */);
Если кто-то все еще ищет ответ - в дополнение к тому, что предложил @md-sulayman, убедитесь, что вы также поменяли местами ширину и высоту в
mediaRecorder.setVideoSize
как это -
mMediaRecorder.setVideoSize(WIDTH, HEIGHT); // for portrait
а также
mMediaRecorder.setVideoSize(HEIGHT,WIDTH); // for landscape