首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Android中,使用exoplayer,如何用与设备宽高比不同的视频填充surfaceview?

在Android中,使用exoplayer,如何用与设备宽高比不同的视频填充surfaceview?
EN

Stack Overflow用户
提问于 2015-11-09 20:06:32
回答 2查看 22.2K关注 0票数 14

我有一个使用ExoPlayer播放视频的活动。当我全屏显示时,除非设备的宽高比与视频的宽高比相等,否则我会在视频的顶部和底部看到小黑条。

这是布局的外观:

<com.google.android.exoplayer.AspectRatioFrameLayout
    android:id="@+id/video_frame"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentBottom="true">

    <SurfaceView android:id="@+id/surface_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="fill_vertical"/>

    <View android:id="@+id/shutter"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/black"/>

</com.google.android.exoplayer.AspectRatioFrameLayout>

我希望

aspectRatioFrameLayout.setAspectRatio(mVideo.getAspectRatio());

可以解决这个问题,但我没有成功。有没有一种方法可以让视频充满屏幕,即使视频的一部分从屏幕上被切断了?

EN

回答 2

Stack Overflow用户

发布于 2018-12-11 04:34:09

如果您使用SimpleExoPlayerView,这也可以在XML中完成。

如果你不关心宽高比,只需添加app:resize_mode="zoom"来保持视频的宽高比,或者添加app:resize_mode="fill"即可。

<com.google.android.exoplayer2.ui.SimpleExoPlayerView
            android:id="@+id/video"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:resize_mode="zoom" />
票数 11
EN

Stack Overflow用户

发布于 2019-10-03 14:16:40

只需在xml中使用以下行。它会工作的很好。

app:resize_mode="fill"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33608746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档