我目前正在使用Media Projection + Media Recorder进行屏幕录制。我面临的问题是,当我的手机在录制过程中处于横向模式时,录制的视频只会在播放期间显示在屏幕的中央/中间,顶部和下方都是黑色(what it is now,{{ 3}})。
我确实看到那里的应用程序(例如AirShou)可以在横向录制,并且他们录制的视频在播放期间是全屏的。我需要做些什么呢?
非常感谢!
答案 0 :(得分:2)
在您的问题中,您没有添加任何问题图片。我试图在途中了解你的问题。由于我还没有发表评论的权限所以只是试图通过猜测你的视频来描述解决方案并且播放得很好: 1.在横向模式下,您的显示宽度和高度会发生变化,请参阅此Does the Width and Height change with orientation?
您可以通过在屏幕方向期间将拍摄屏幕的值重置为横向模式来重新编码。并为景观氛围添加新的不同布局。 你可以看到这个
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 */);
答案 1 :(得分:0)
如果有人仍在寻找答案-除了@ md-sulayman建议的内容外,请确保您也将宽度高度交换为
mediaRecorder.setVideoSize
像这样-
mMediaRecorder.setVideoSize(WIDTH, HEIGHT); // for portrait
和
mMediaRecorder.setVideoSize(HEIGHT,WIDTH); // for landscape