我已经了解了如何调整此Full screen videoview without stretching the video上的视频大小。
使用gameowner
回答,它有效。而且它还强制保持方位无线电,使其最终会出现黑色条纹。
我想要另一个可选项。那是我不希望两侧有黑色条纹。我希望视频高度仍然保持在屏幕高度。要保持方面无线电,视频宽度应大于屏幕宽度。我无法观看视频的“最左侧部分”和“最右侧部分”并不重要。 我想我只需要改变:
if (videoProportion > screenProportion) {
lp.width = screenWidth;
lp.height = (int) ((float) screenWidth / videoProportion);
} else {
lp.width = (int) (videoProportion * (float) screenHeight);
lp.height = screenHeight;
}
到
if (videoProportion < screenProportion) {
lp.width = screenWidth;
lp.height = (int) ((float) screenWidth / videoProportion);
} else {
lp.width = (int) (videoProportion * (float) screenHeight);
lp.height = screenHeight;
}
没关系,但我没有。
一旦surfaceView
尺寸大于屏幕。这只是显示黑屏,但保持aduio播放。
我还尝试将surfaceview holder固定大小考虑在内:
surfaceViewFrame.getHolder().setFixedSize(lp.width, lp.height);
但它没有解决问题。 是否可以播放尺寸大于屏幕的视频?
修改:确定。我已经意识到我的问题。我想在方面广播中放大我的视频,但是全屏。也称为裁剪视频到全屏。
我尝试在TextureView
(必需)容器中使用FrameLayout
:
Playing video on TextureView
我有Android 4.0设备在这种解决方法中工作正常,但我不确定它是否真的适用于其他4.0设备。此外,TextureView
仅适用于Android 4.0或更高版本。如果Android 2.x有解决方法,我将不胜感激。