调整观众端选择分辨率

This commit is contained in:
2023-01-08 14:21:52 +08:00
parent 65efa88d4a
commit a1f07b8c20
6 changed files with 33 additions and 11 deletions

View File

@@ -1,7 +1,5 @@
package com.yunbao.live.utils;
import static com.google.android.exoplayer2.C.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING;
import android.content.Context;
import android.os.Handler;
import android.os.Looper;
@@ -12,6 +10,7 @@ import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.MediaItem;
import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.analytics.AnalyticsListener;
import com.google.android.exoplayer2.ui.AspectRatioFrameLayout;
import com.google.android.exoplayer2.ui.StyledPlayerView;
import com.google.android.exoplayer2.video.VideoSize;
@@ -52,6 +51,10 @@ public class LiveExoPlayerManager {
this.mainView = mainView;
this.mainView.setKeepContentOnPlayerReset(true);
}
public void setViewResizeMode(boolean isPhone){
mainView.setResizeMode(isPhone?AspectRatioFrameLayout.RESIZE_MODE_ZOOM:AspectRatioFrameLayout.RESIZE_MODE_FIT);
mainView.requestLayout();
}
private void setAnalyticsListener() {
player1.addAnalyticsListener(new AnalyticsListener() {
@@ -135,6 +138,7 @@ public class LiveExoPlayerManager {
@Override
public void onVideoSizeChanged(VideoSize videoSize) {
Player.Listener.super.onVideoSizeChanged(videoSize);
setViewResizeMode(videoSize.height>videoSize.width);
Log.i(TAG, "onVideoSizeChanged: width = " + videoSize.width + " height = " + videoSize.height);
if (listener != null) {
listener.onVideoSizeChanged(videoSize);
@@ -187,6 +191,7 @@ public class LiveExoPlayerManager {
@Override
public void onVideoSizeChanged(VideoSize videoSize) {
Player.Listener.super.onVideoSizeChanged(videoSize);
setViewResizeMode(videoSize.height>videoSize.width);
if (listener != null) {
listener.onVideoSizeChanged(videoSize);
}
@@ -206,7 +211,7 @@ public class LiveExoPlayerManager {
* @param url 地址
*/
public void startUrl(String url) {
Log.i(TAG, "startUrl: "+url);
Log.i(TAG, "startUrl: "+url+" > "+mainView.getResizeMode());
isSwitchUrl = true;
playBufferIndex = 0;
//getNowPlayer().setVideoSurfaceView(mainView);