gpt4 book ai didi

java - 如何解决实现画中画功能时的宽高比问题?

转载 作者:行者123 更新时间:2023-12-05 00:21:00 28 4
gpt4 key购买 nike

我正在尝试在应用程序中包含 PiP(画中画)功能。我遇到以下错误:

 Caused by: java.lang.IllegalArgumentException: enterPictureInPictureMode: Aspect ratio is too extreme (must be between 0.418410 and 2.390000).

我想知道如何解决这个问题。我通过更改 xml 和 java 文件尝试了不同的技术。没有人对我的问题有帮助。

为了更清楚起见,我包含了我的 java 和 xml 代码:

Java:

 Rational aspectRatio = new Rational(videoView.getWidth(), videoView.getHeight());
pictureInPictureParamsBuilder.setAspectRatio(aspectRatio).build();
enterPictureInPictureMode(pictureInPictureParamsBuilder.build());

XML:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.courses.oustchat.VideoPipActivity">
<VideoView
android:id="@+id/pipvideoview"
android:layout_width="match_parent"
android:layout_height="400dp"
android:layout_margin="4dp"
android:adjustViewBounds="true"/>
</RelativeLayout>

请。请为此提供解决方案。

提前致谢。

最佳答案

发生此错误是因为 videoView.getWidth 和 .getheight 方法给出的值大于 pip 模式支持,作为异常(exception),表示您设置的宽高比大于 pip 模式支持。让我们把它留给android,不要自己设置比率

pictureInPictureParamsBuilder.build();
enterPictureInPictureMode(pictureInPictureParamsBuilder.build());

或者,如果您想设置自定义,请执行以下操作,但您的比率必须介于 0.418410 和 2.390000 之间:

Rational aspectRatio = new Rational(192, 108);
pictureInPictureParamsBuilder.setAspectRatio(aspectRatio).build();
enterPictureInPictureMode(pictureInPictureParamsBuilder.build());

关于java - 如何解决实现画中画功能时的宽高比问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54906050/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com