Skip to content

Commit

Permalink
1.22.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Lzj009 committed Dec 10, 2024
1 parent f8cc0d3 commit f816f3a
Show file tree
Hide file tree
Showing 49 changed files with 2,963 additions and 19 deletions.
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,35 @@
## 【v1.22.0] - 2024-12-10

### 【手机开播(纯视频)场景】

新增:
1. 【开播】优化连麦背景【Demo】
2. 【连麦】观众下麦优化调整【Demo】

### 【观看端(云课堂)场景】

新增:
1. 【PPT】PPT支持拖拽缩放【Demo、SDK】
2. 【商品库】商品库支持手动取消推送【Demo、SDK】
3. 【多语言】新增日韩繁体语言【Demo】

修复:
1. 【观看】修复多线路切换失败无效问题【common、SDK】

### 【观看端(纯视频)场景】

新增:
1. 【商品库】商品库支持手动取消推送【Demo、SDK】
2. 【多语言】新增日韩繁体语言【Demo】

修复:
1. 【观看】修复多线路切换失败无效问题【common、SDK】

### 【SDK】

优化:
1. 【socket】micId改为时间戳【SDK】

## [v1.21.0] - 2024-11-21

### 【手机开播(全场景)】
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ polyv-android-livescenes-sdk-demo
===

[![build passing](https://img.shields.io/badge/build-passing-brightgreen.svg)](#)
[![GitHub release](https://img.shields.io/badge/release-v1.21.0-blue.svg)](https://github.com/polyv/polyv-android-livescenes-sdk-demo/releases/tag/v1.21.0)
[![GitHub release](https://img.shields.io/badge/release-v1.22.0-blue.svg)](https://github.com/polyv/polyv-android-livescenes-sdk-demo/releases/tag/v1.22.0)

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
Expand Down Expand Up @@ -66,6 +66,7 @@ Demo [下载链接](https://www.pgyer.com/Mb6m) (密码:polyv)

| Github仓库Tag | 依赖SDK版本 | API文档 | Common层 | 观看端-云课堂场景 | 观看端-直播带货场景 | 开播端-手机开播三分屏场景 | 开播端-手机开播纯视频场景 | 互动学堂场景 |
|-------------|------------|-------------------------------------------------------------------------------------------|---------|---------|----------|---------------|---------------|--------|
| 1.22.0 | 1.22.0 | [v1.22.0 API](http://repo.polyv.net/android/livescenes/javadoc/1.22.0/index.html) |||||| |
| 1.21.0 | 1.21.0 | [v1.21.0 API](http://repo.polyv.net/android/livescenes/javadoc/1.21.0/index.html) || | ||| |
| 1.20.0 | 1.20.0 | [v1.20.0 API](http://repo.polyv.net/android/livescenes/javadoc/1.20.0/index.html) |||||| |
| 1.19.1 | 1.19.1 | [v1.19.1 API](http://repo.polyv.net/android/livescenes/javadoc/1.19.1/index.html) |||| | | |
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ ext {
compileSdkVersion = 31
minSdkVersion = 21
targetSdkVersion = 30
versionCode = 1210
versionName = "1.21.0"
versionCode = 1220
versionName = "1.22.0"
}

task clean(type: Delete) {
Expand Down
2 changes: 1 addition & 1 deletion demo/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ android {
pickFirst 'META-INF/proguard/coroutines.pro'
}

resConfigs 'en', 'zh-rCN'
resConfigs 'en', 'zh', 'ja', 'ko', 'b+zh+Hant'//繁体
}
signingConfigs {
release {
Expand Down
27 changes: 27 additions & 0 deletions demo/src/main/res/values-b+zh+Hant/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<resources>

<string name="plv_app_name">POLYV多场景</string>

<string name="plv_login">登录</string>
<string name="plv_login_head_info">POLYV&#160;&#160;云课堂</string>
<string name="plv_login_userId">用户ID</string>
<string name="plv_login_vid">视频ID</string>
<string name="plv_login_channelId">频道ID</string>
<string name="plv_login_appId">APP ID</string>
<string name="plv_login_appSecret">APP Secret</string>
<string name="plv_login_waiting">正在登录中,请稍等…</string>
<string name="plv_login_copyright">2013 – 2023 易方信息科技股份有限公司 版权所有</string>

<!--手机开播登录页多语言适配-->
<string name="plv_login_streamer_live_broadcast">手機開播</string>
<string name="plv_login_streamer_enter_channel_number">請輸入頻道號</string>
<string name="plv_login_streamer_enter_password">請輸入密碼</string>
<string name="plv_login_streamer_enter_nickname">請輸入昵稱</string>
<string name="plv_login_streamer_login">登入</string>
<string name="plv_login_streamer_remember_password">記住密碼</string>
<string name="plv_login_streamer_read_and_agree">已閱讀並同意</string>
<string name="plv_login_streamer_privacy_policy">《隱私政策》</string>
<string name="plv_login_streamer_and">和</string>
<string name="plv_login_streamer_user_agreement">《使用協議》</string>
<string name="plv_login_streamer_check_the_agreement">請勾選協定</string>
</resources>
27 changes: 27 additions & 0 deletions demo/src/main/res/values-ja/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<resources>

<string name="plv_app_name">POLYV多场景</string>

<string name="plv_login">登录</string>
<string name="plv_login_head_info">POLYV&#160;&#160;云课堂</string>
<string name="plv_login_userId">用户ID</string>
<string name="plv_login_vid">视频ID</string>
<string name="plv_login_channelId">频道ID</string>
<string name="plv_login_appId">APP ID</string>
<string name="plv_login_appSecret">APP Secret</string>
<string name="plv_login_waiting">正在登录中,请稍等…</string>
<string name="plv_login_copyright">2013 – 2023 易方信息科技股份有限公司 版权所有</string>

<!--手机开播登录页多语言适配-->
<string name="plv_login_streamer_live_broadcast">携帯電話でスタート</string>
<string name="plv_login_streamer_enter_channel_number">チャンネル番号を入力してください</string>
<string name="plv_login_streamer_enter_password">パスワードを入力してください</string>
<string name="plv_login_streamer_enter_nickname">ニックネームを入力してください</string>
<string name="plv_login_streamer_login">ログイン#ログイン</string>
<string name="plv_login_streamer_remember_password">パスワードを記憶する</string>
<string name="plv_login_streamer_read_and_agree">読んで同意しました</string>
<string name="plv_login_streamer_privacy_policy">《プライバシーポリシー》</string>
<string name="plv_login_streamer_and">と</string>
<string name="plv_login_streamer_user_agreement">《使用プロトコル》</string>
<string name="plv_login_streamer_check_the_agreement">プロトコルをチェックしてください</string>
</resources>
27 changes: 27 additions & 0 deletions demo/src/main/res/values-ko/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<resources>

<string name="plv_app_name">POLYV多场景</string>

<string name="plv_login">登录</string>
<string name="plv_login_head_info">POLYV&#160;&#160;云课堂</string>
<string name="plv_login_userId">用户ID</string>
<string name="plv_login_vid">视频ID</string>
<string name="plv_login_channelId">频道ID</string>
<string name="plv_login_appId">APP ID</string>
<string name="plv_login_appSecret">APP Secret</string>
<string name="plv_login_waiting">正在登录中,请稍等…</string>
<string name="plv_login_copyright">2013 – 2023 易方信息科技股份有限公司 版权所有</string>

<!--手机开播登录页多语言适配-->
<string name="plv_login_streamer_live_broadcast">휴대폰 방송 시작</string>
<string name="plv_login_streamer_enter_channel_number">채널 번호를 입력하십시오</string>
<string name="plv_login_streamer_enter_password">암호를 입력하십시오</string>
<string name="plv_login_streamer_enter_nickname">닉네임을 입력하십시오</string>
<string name="plv_login_streamer_login">로그인</string>
<string name="plv_login_streamer_remember_password">비밀번호 기억하기</string>
<string name="plv_login_streamer_read_and_agree">읽기 및 동의</string>
<string name="plv_login_streamer_privacy_policy">《프라이버시 정책》</string>
<string name="plv_login_streamer_and">및</string>
<string name="plv_login_streamer_user_agreement">《사용 계약》</string>
<string name="plv_login_streamer_check_the_agreement">프로토콜을 선택하십시오</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -590,7 +590,7 @@ private void setOrientation(boolean isPortrait) {
}
llLandscapeRoot.setVisibility(GONE);
} else {
floatingViewPortraitRoot.setVisibility(GONE);
floatingViewPortraitRoot.setVisibility(INVISIBLE);
llLandscapeRoot.setVisibility(VISIBLE);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.easefun.polyv.businesssdk.api.common.ppt.IPolyvPPTView;
import com.easefun.polyv.livecloudclass.modules.chatroom.chatlandscape.PLVLCChatLandscapeLayout;
import com.easefun.polyv.livecloudclass.modules.media.controller.IPLVLCLiveLandscapePlayerController;
import com.easefun.polyv.livecloudclass.modules.ppt.IPLVLCPPTView;
import com.easefun.polyv.livecloudclass.modules.ppt.enums.PLVLCMarkToolEnums;
import com.easefun.polyv.livecommon.module.data.IPLVLiveRoomDataManager;
import com.easefun.polyv.livecommon.module.modules.player.PLVPlayerState;
Expand Down Expand Up @@ -241,6 +242,7 @@ public interface IPLVLCMediaLayout {
*/
IPLVLCLiveLandscapePlayerController getLandscapeControllerView();


/**
* 更新观看热度
*
Expand Down Expand Up @@ -399,6 +401,12 @@ public interface IPLVLCMediaLayout {
*/
void setPPTView(IPolyvPPTView pptView);

/**
* 设置悬浮窗PPTView
* @param floatPPTView
*/
void setFloatPPTView(IPLVLCPPTView floatPPTView);

/**
* 添加播放信息的监听器
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import android.util.Pair;
import android.view.LayoutInflater;
import android.view.View;
Expand Down Expand Up @@ -49,12 +48,12 @@
import com.easefun.polyv.livecloudclass.modules.media.widget.PLVLCVideoLoadingLayout;
import com.easefun.polyv.livecloudclass.modules.media.widget.PLVLCVolumeTipsView;
import com.easefun.polyv.livecloudclass.modules.pagemenu.commodity.PLVLCCommodityPushLayout;
import com.easefun.polyv.livecloudclass.modules.ppt.IPLVLCPPTView;
import com.easefun.polyv.livecloudclass.modules.ppt.enums.PLVLCMarkToolEnums;
import com.easefun.polyv.livecloudclass.modules.ppt.widget.PLVLCMarkToolControllerLayout;
import com.easefun.polyv.livecloudclass.modules.ppt.widget.PLVLCPPTInputWidget;
import com.easefun.polyv.livecommon.module.data.IPLVLiveRoomDataManager;
import com.easefun.polyv.livecommon.module.data.PLVStatefulData;
import com.easefun.polyv.livecommon.module.modules.interact.lottery.welfarelottery.PLVWelfareLotteryManager;
import com.easefun.polyv.livecommon.module.modules.log.PLVTrackLogHelper;
import com.easefun.polyv.livecommon.module.modules.marquee.IPLVMarqueeView;
import com.easefun.polyv.livecommon.module.modules.player.PLVPlayErrorMessageUtils;
Expand Down Expand Up @@ -82,6 +81,7 @@
import com.opensource.svgaplayer.SVGAImageView;
import com.opensource.svgaplayer.SVGAParser;
import com.plv.business.api.common.player.PLVPlayerConstant;
import com.plv.business.api.common.ppt.IPLVPPTWebViewListener;
import com.plv.foundationsdk.component.di.PLVDependManager;
import com.plv.foundationsdk.log.PLVCommonLog;
import com.plv.foundationsdk.log.elog.PLVELogsService;
Expand Down Expand Up @@ -220,11 +220,15 @@ public class PLVLCLiveMediaLayout extends FrameLayout implements IPLVLCMediaLayo
private String coverImage = DEFAULT_COVER_IMAGE;

private boolean isInPaintMode;
private boolean isPPTMode;

//播放器presenter
private IPLVLivePlayerContract.ILivePlayerPresenter livePlayerPresenter;
private PLVLCFloatingWindow floatingWindow;

// 漂浮窗内的pptView
private IPLVLCPPTView floatPPTView;

//Listener
private IPLVLCMediaLayout.OnViewActionListener onViewActionListener;
// </editor-fold>
Expand Down Expand Up @@ -580,6 +584,28 @@ protected void onSwitchElsewhereBefore() {
}
}

@Override
protected void onSwitchElsewhereAfter() {
View childOfAnchor;
try {
childOfAnchor = playerSwitchAnchor.getSwitchView();
} catch (IllegalAccessException e) {
PLVCommonLog.exception(e);
return;
}


if (childOfAnchor == floatPPTView) {
isPPTMode = true;
} else {
isPPTMode = false;
}
livePlayerPresenter.setNeedGestureDetector(!isPPTMode);
if (floatPPTView != null) {
floatPPTView.notifyPPTModeStatus(isPPTMode);
}
}

@Override
protected void onSwitchBackAfter() {
View childOfAnchor;
Expand All @@ -604,6 +630,17 @@ protected void onSwitchBackAfter() {
videoView.addView(noStreamView);
videoView.addView(stopStreamView);
}


if (childOfAnchor == floatPPTView) {
isPPTMode = true;
} else {
isPPTMode = false;
}
livePlayerPresenter.setNeedGestureDetector(!isPPTMode);
if (floatPPTView != null) {
floatPPTView.notifyPPTModeStatus(isPPTMode);
}
}
});
}
Expand Down Expand Up @@ -1008,7 +1045,7 @@ public void updateWhenStartRtcWatch(int linkMicLayoutLandscapeWidth) {
livePlayerPresenter.setPlayerVolume(0);
}
//禁用播放器手势
livePlayerPresenter.setNeedGestureDetector(!isJoinRTC && !isInPaintMode);
livePlayerPresenter.setNeedGestureDetector(!isJoinRTC && !isInPaintMode && !isPPTMode);

mediaController.show();

Expand All @@ -1035,7 +1072,7 @@ public void updateWhenLeaveRtcWatch() {
startPlay();
}
//恢复播放器手势
livePlayerPresenter.setNeedGestureDetector(!isJoinRTC && !isInPaintMode);
livePlayerPresenter.setNeedGestureDetector(!isJoinRTC && !isInPaintMode && !isPPTMode);
//恢复播放器音量
livePlayerPresenter.setPlayerVolume(100);

Expand Down Expand Up @@ -1175,6 +1212,23 @@ public void setPPTView(IPolyvPPTView pptView) {

}

@Override
public void setFloatPPTView(IPLVLCPPTView floatPPTView) {
this.floatPPTView = floatPPTView;
floatPPTView.setLCPPTGestureListener(new IPLVPPTWebViewListener.OnPLVLCPPTGestureListener() {
@Override
public void onSingleTap() {
if (mediaController != null) {
if (mediaController.isShowing()) {
mediaController.hide();
} else {
mediaController.show();
}
}
}
});
}

@Override
public void addOnPlayInfoVOListener(IPLVOnDataChangedListener<PLVPlayInfoVO> listener) {

Expand Down Expand Up @@ -1320,7 +1374,7 @@ public void onNoLiveAtPresent() {
@Override
public void onLiveEnd() {
super.onLiveEnd();
Log.i(TAG, "onLiveEnd: ");
PLVCommonLog.i(TAG, "onLiveEnd: ");
startLiveTimeCountDown(liveStartTime);
if (toTopView != null) {
toTopView.setShowEnabled(false);
Expand Down
Loading

0 comments on commit f816f3a

Please sign in to comment.