如何在实施图片中的图片功能时解决纵横比问题



我试图在应用程序中包括一个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>

pls。为此提供解决方案。

预先感谢。

发生了此错误,因为videoview.getwidth和.getheight方法给出的价值超过了PIP模式支持,因为您设置的宽高比不仅仅是PIP模式支持。让我们不自己设置比率

将其留给Android
pictureInPictureParamsBuilder.build();
enterPictureInPictureMode(pictureInPictureParamsBuilder.build());

,或者如果您想设置自定义,则比下面喜欢的,但是您的比率必须在0.418410和2.390000之间:

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

相关内容

  • 没有找到相关文章

最新更新