@@ -1,121 +0,0 @@
package com.yunbao.live.activity ;
import android.os.Bundle ;
import android.util.Log ;
import android.view.View ;
import android.widget.LinearLayout ;
import android.widget.TextView ;
import androidx.annotation.Nullable ;
import androidx.fragment.app.FragmentTransaction ;
import com.alibaba.android.arouter.facade.annotation.Route ;
import com.google.android.exoplayer2.C ;
import com.google.android.exoplayer2.DefaultLoadControl ;
import com.google.android.exoplayer2.ExoPlayer ;
import com.google.android.exoplayer2.MediaItem ;
import com.google.android.exoplayer2.Player ;
import com.google.android.exoplayer2.ui.AspectRatioFrameLayout ;
import com.google.android.exoplayer2.ui.PlayerView ;
import com.google.android.exoplayer2.ui.StyledPlayerView ;
import com.lxj.xpopup.XPopup ;
import com.makeramen.roundedimageview.RoundedImageView ;
import com.yunbao.common.Constants ;
import com.yunbao.common.activity.AbsActivity ;
import com.yunbao.common.event.GiftWallItemEvent ;
import com.yunbao.common.event.LiveGiftDialogEvent ;
import com.yunbao.common.fragment.AllServiceChampionFragment ;
import com.yunbao.common.fragment.GiftWithoutWallFragment ;
import com.yunbao.common.glide.ImgLoader ;
import com.yunbao.common.utils.Bus ;
import com.yunbao.common.utils.L ;
import com.yunbao.common.utils.RouteUtil ;
import com.yunbao.common.utils.StringUtil ;
import com.yunbao.common.utils.ToastUtil ;
import com.yunbao.common.views.weight.ViewClicksAntiShake ;
import com.yunbao.live.R ;
import com.yunbao.live.dialog.CodexDialog ;
import com.yunbao.live.dialog.GiftWallItemPopup ;
import com.yunbao.live.dialog.MedalAchievementPopup ;
import com.yunbao.live.views.GiftAlreadyWallFragment ;
import org.greenrobot.eventbus.Subscribe ;
import org.greenrobot.eventbus.ThreadMode ;
import java.util.ArrayList ;
import java.util.List ;
public class VideoPlayActivity extends AbsActivity {
private PlayerView placeholderView ;
private ExoPlayer player1 ;
@Override
protected int getLayoutId ( ) {
return R . layout . activity_google_play ;
}
@Override
protected void onCreate ( @Nullable Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState ) ;
DefaultLoadControl control = new DefaultLoadControl . Builder ( )
. setPrioritizeTimeOverSizeThresholds ( false )
. setBackBuffer ( 10_000 , true )
. setBufferDurationsMs ( 500 ,
5_000 ,
150 ,
200 )
. build ( ) ;
placeholderView = findViewById ( R . id . placeholderView ) ;
player1 = new ExoPlayer . Builder ( mContext ) . setLoadControl ( control ) . build ( ) ;
player1 . setVideoScalingMode ( C . VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING ) ;
placeholderView . setResizeMode ( AspectRatioFrameLayout . RESIZE_MODE_FILL ) ;
placeholderView . requestLayout ( ) ;
placeholderView . setKeepContentOnPlayerReset ( true ) ;
placeholderView . setPlayer ( player1 ) ;
placeholderView . setShowRewindButton ( false ) ;
placeholderView . setShowFastForwardButton ( false ) ;
placeholderView . setShowPreviousButton ( false ) ;
placeholderView . setShowNextButton ( false ) ;
placeholderView . setShowShuffleButton ( false ) ;
placeholderView . setShowMultiWindowTimeBar ( false ) ;
placeholderView . setControllerAutoShow ( false ) ;
placeholderView . setUseController ( false ) ;
player1 . addListener ( new Player . Listener ( ) {
@Override
public void onPlaybackStateChanged ( int playbackState ) {
Player . Listener . super . onPlaybackStateChanged ( playbackState ) ;
switch ( playbackState ) {
case ExoPlayer . STATE_IDLE :
L . e ( " ExoPlayer.STATE_IDLE-播放器已实例化,但尚未准备就绪。 " ) ;
break ;
case ExoPlayer . STATE_BUFFERING :
L . e ( " ExoPlayer.STATE_BUFFERING-播放器无法从当前位置开始播放,因为已缓冲的数据不足。 " ) ;
break ;
case ExoPlayer . STATE_READY :
L . e ( " ExoPlayer.STATE_READY-播放器可以立即从当前位置开始播放。这意味着如果播放器的 playWhenReady 属性为 true, 播放器将自动开始播放媒体。如果该属性为 false, 播放器会暂停播放。 " ) ;
break ;
case ExoPlayer . STATE_ENDED :
L . e ( " ExoPlayer.STATE_ENDED-播放器已完成媒体播放。 " ) ;
break ;
}
}
} ) ;
player1 . setMediaItem ( createMediaItem ( " https://downs.yaoulive.com/userhome/2024-03-29/98918_r3a5urihjf7qmlnkhdr5ak5ir1.MP4 " ) ) ;
player1 . prepare ( ) ;
player1 . play ( ) ;
}
private MediaItem createMediaItem ( String url ) {
return MediaItem . fromUri ( url ) ;
}
@Override
protected void onDestroy ( ) {
super . onDestroy ( ) ;
Bus . getOff ( this ) ;
}
}