fix [修复-修改视频框架]
This commit is contained in:
@@ -1 +1 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'com.android.library'
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
>
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
<!--com.kugou.fanxing.allinone.watch.liveroominone.media.FALiveRoomInOneActivity"-->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
@@ -11,8 +10,8 @@
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
tools:replace="allowBackup"
|
||||
android:theme="@style/AppTheme">
|
||||
android:theme="@style/AppTheme"
|
||||
tools:replace="allowBackup">
|
||||
<activity android:name=".activity.LiveTRTCAnchorActivity" />
|
||||
<activity
|
||||
android:name=".activity.LiveAnchorActivity"
|
||||
@@ -124,6 +123,10 @@
|
||||
<activity
|
||||
android:name=".activity.CompensateActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
android:name=".activity.VideoPlayActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -0,0 +1,121 @@
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
12
live/src/main/res/layout/activity_google_play.xml
Normal file
12
live/src/main/res/layout/activity_google_play.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/background_gift_wall_shape"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.exoplayer2.ui.PlayerView
|
||||
android:id="@+id/placeholderView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
</FrameLayout>
|
||||
Reference in New Issue
Block a user