旋转Exoplayer

时间:2018-02-17 12:55:46

标签: android rotation exoplayer

我在我的应用中添加了exoplayer 我将整个应用程序的屏幕方向修改为纵向。
我需要将exoplayer旋转到横向模式。

我该如何处理这个问题?
我只需要旋转exo框架而不是整个片段或活动。

4 个答案:

答案 0 :(得分:1)

您可以使用https://github.com/rongi/rotate-layout绘制旋转的ExoPlayer内容,但是要使该库正常工作,您必须在PlayerView中使用app:surface_type="texture_view"

答案 1 :(得分:0)

这可以通过简单的两行代码来完成,

当您单击任意按钮并想要旋转到横向视图时

((Activity) mContext).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);

并且想要旋转回肖像

((Activity) mContext).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);

答案 2 :(得分:0)

exoPlayerView.getVideoSurfaceView().setRotation(90);

答案 3 :(得分:-1)

您不需要额外的库,只需设置app:surface_type="texture_view" 然后您可以使用texture_view在xml中旋转android:rotation="39"或使用mainVideoView.rotation = 39f在代码中旋转:

  <com.google.android.exoplayer2.ui.SimpleExoPlayerView
            android:id="@+id/mainVideoView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:focusable="true"
            android:nextFocusLeft="@id/resizeLeft"
            android:nextFocusRight="@id/resizeRight"
            android:nextFocusUp="@+id/mediaContainer"
            android:nextFocusDown="@+id/exo_pause"


            app:surface_type="texture_view"
            android:rotation="39"
            app:controller_layout_id="@layout/custom_playback_control" />

enter image description here