首页 > 解决方案 > 在 Android Auto 中剪辑视频以完全填满屏幕

问题描述

现在,我正在开发我们自己的 Android Auto 项目。我遇到了一个问题。我添加了 3 个支持的 VideoConfiguration。(1920 X 1080, 1280 X 720, 800 X 480) 我们的车载屏幕尺寸是 1920 X 720。当我在车里启动我的应用程序后,我注意到手机告诉我们手机(或 MD)的视频输出是什么1920 X 1080。我也设置了查看区域为1920 X 720,或者换句话说,内容区域为1920 X 720。最后显示了投影视频,但不幸的是,视频被强行拉伸了。所有这些图标,文字都变形了,好像我的配置没用一样。我的问题是,如何调整我的参数,以便正确显示 MD 的投影内容。

我问了谷歌的服务台,他们告诉我将边距分别设置在顶部和底部180。但我试过了,如下所示,

    VideoFrameRateType frameRate = (fps == 30) ? VideoFrameRateType.VIDEO_FPS_30 : VideoFrameRateType.VIDEO_FPS_60;
    Protos.Insets.Builder insetsBuilder = Protos.Insets.newBuilder().setTop(180).setBottom(180);
    UiConfig.Builder uiBuilder = UiConfig.newBuilder().setMargins(insetsBuilder);


    VideoConfiguration.Builder builder = VideoConfiguration.newBuilder()

// .setUiConfig(uiBuilder) .setCodecResolution(codecResolution) .setFrameRate(frameRate) .setWidthMargin(0) .setHeightMargin(360) .setDensity(213) .setRealDensity(170) .setVideoCodecType(MediaCodecType.MEDIA_CODEC_VIDEO_H264_BP) .setDecoderAdditionalDepth(decoder)。 setViewingDistance(viewingDistance) .setPixelAspectRatioE4(Math.round(pixelAspectRatio * 1e4f));

我尝试设置 heightMargin,或者添加 UiConfig 的 setTop(180).setBottom(180),没有什么能解决问题。

或者,有什么我可以做的吗?我以编程方式创建 MediaFormat format = MediaFormat.createVideoFormat?

标签: android-auto

解决方案


我想我已经自己把东西收拾好了。首先,我们需要调整布局属性,从 match_parent 到 1920px & 1080px。

其次,在创建 VedioConfiguration 之前,我们应该新建 UiConfig 并设置其顶部和底部以匹配您的内容区域。


推荐阅读