1:修改KTV布局

This commit is contained in:
2025-12-06 18:37:41 +08:00
parent 8a32effeab
commit 83b4097fa2
5 changed files with 48 additions and 35 deletions

View File

@@ -161,7 +161,7 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio
//设置mqtt环境 false 测试环境 true 正式环境
// ExternalResConstants.INSTANCE.setIS_MQTT_RELEASE(false);
//设置http环境 false 测试环境 true 正式环境
ExternalResConstants.INSTANCE.setIS_HTTP_RELEASE(true);
ExternalResConstants.INSTANCE.setIS_HTTP_RELEASE(false);
currentEnvironment = ExternalResConstants.INSTANCE.HTTP_PATH();
initialization();

View File

@@ -253,6 +253,11 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
return false
}
// TODO: ktv上麦用户展示在activity页面
fun getBinding(): ActivityRoomBinding? {
return mBinding
}
override fun doDone() {
isOnline = intent.getBooleanExtra("isOnline", false)

View File

@@ -68,9 +68,11 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
RoomFragment parentFragment;
BaseQuickAdapter<RoomPitBean, BaseViewHolder> adapter;
VolumeManager volumeManager ;
VolumeManager volumeManager;
public RoomKtvFragment() {
}
public RoomKtvFragment() {}
public RoomKtvFragment(RoomInfoResp roomInfoResp) {
this.roomInfoResp = roomInfoResp;
}
@@ -199,13 +201,13 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
}
private void setBz(){
if (volumeManager.getBz(SpUtil.getUserId()+"")){
private void setBz() {
if (volumeManager.getBz(SpUtil.getUserId() + "")) {
AgoraManager.getInstance().selectAudioTrack(0);
mBinding.imBz.setImageResource(com.xscm.moduleutil.R.mipmap.accompany_on);
mBinding.tvBz.setText("原唱");
isRotate = false;
}else {
} else {
AgoraManager.getInstance().selectAudioTrack(1);
mBinding.imBz.setImageResource(com.xscm.moduleutil.R.mipmap.accompany_off);
mBinding.tvBz.setText("伴奏");
@@ -214,9 +216,9 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
}
// TODO: 2025/11/3 设置音量和伴奏
private void setAgorVolumes(){
private void setAgorVolumes() {
// 获取新演唱者的音量设置
int[] volumes = volumeManager.getUserVolumes(SpUtil.getUserId()+"");
int[] volumes = volumeManager.getUserVolumes(SpUtil.getUserId() + "");
int musicVolume = volumes[0];
int playoutVolume = volumes[1];
AgoraManager.getInstance().setMusicVolume(musicVolume); // 使用原始值(0-200
@@ -242,7 +244,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
@Override
protected void initData() {
volumeManager=VolumeManager.getInstance();
volumeManager = VolumeManager.getInstance();
setAgorVolumes();
upData();
}
@@ -283,13 +285,13 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
if (songUserInfo != null) {
//演唱者and主持
if (songUserInfo.getUser_id().equals(userIdStr) && roomDefaultWheatView.getUserId().equals(userIdStr)){
if (songUserInfo.getUser_id().equals(userIdStr) && roomDefaultWheatView.getUserId().equals(userIdStr)) {
setVisibilityView(1);
}else if(roomDefaultWheatView.getUserId().equals(userIdStr)){//主持 非演唱者
} else if (roomDefaultWheatView.getUserId().equals(userIdStr)) {//主持 非演唱者
setVisibilityView(2);
}else if (songUserInfo.getUser_id().equals(userIdStr)){//演唱者
} else if (songUserInfo.getUser_id().equals(userIdStr)) {//演唱者
setVisibilityView(3);
}else {//观众
} else {//观众
setVisibilityView(4);
}
} else {
@@ -305,7 +307,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
mBinding.lyricsView.setActiveLineUpcomingTextColor(getResources().getColor(com.xscm.moduleutil.R.color.color_0DFFB9));
mBinding.lyricsView.setCurrentLineHighlightedTextColor(getResources().getColor(com.xscm.moduleutil.R.color.color_0DFFB9));
mBinding.lyricsView.setCurrentLineTextColor(getResources().getColor(com.xscm.moduleutil.R.color.color_0DFFB9));
mBinding.recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
((RoomActivity) ActivityUtils.getTopActivity()).getBinding().recyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
mBinding.muName.setText("暂无歌曲");
mBinding.muXName.setText("暂无歌曲");
startRotateAnimation();
@@ -344,7 +346,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
});
}
};
mBinding.recyclerView.setAdapter(adapter);
((RoomActivity) ActivityUtils.getTopActivity()).getBinding().recyclerView.setAdapter(adapter);
isRotate = false;
RoomKtvWheatView muYc = mBinding.muYc;
@@ -420,10 +422,10 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
if (!muJb.getUserId().equals("")) {
RoomUserInfoFragment.show(roomInfoResp.getRoom_info().getRoom_id(), muJb.getUserId(), muJb.pitNumber, getHostUser(), false, 2, isNumberWhether(), getChildFragmentManager());
} else {
if (ActivityUtils.getTopActivity() instanceof RoomActivity){
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4){
if (ActivityUtils.getTopActivity() instanceof RoomActivity) {
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4) {
RoomOnlineDialogFragment.show(roomInfoResp.getRoom_info().getRoom_id(), "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
}else {
} else {
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
}
}
@@ -483,13 +485,14 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
/**
* 设置布局的显示和隐藏
*
* @param type 1: 主持 and 演唱者
* 2主持 非 演唱者
* 3演唱者 非 主持
* 4观众
*/
private void setVisibilityView(int type) {
// 当类型为1时显示"订单"和"调运图"布局,隐藏其他布局
// 当类型为1时显示"订单"和"调运图"布局,隐藏其他布局
if (type == 1) {
mBinding.llBz.setVisibility(View.VISIBLE); // 隐藏布局Bz
mBinding.llDs.setVisibility(View.GONE); // 显示布局Ds
@@ -556,13 +559,13 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
mBinding.imBz.setImageResource(com.xscm.moduleutil.R.mipmap.accompany_on);
mBinding.tvBz.setText("原唱");
isRotate = false;
volumeManager.saveBz(SpUtil.getUserId()+"",true);
volumeManager.saveBz(SpUtil.getUserId() + "", true);
} else {
AgoraManager.getInstance().selectAudioTrack(1);
mBinding.imBz.setImageResource(com.xscm.moduleutil.R.mipmap.accompany_off);
mBinding.tvBz.setText("伴奏");
isRotate = true;
volumeManager.saveBz(SpUtil.getUserId()+"",false);
volumeManager.saveBz(SpUtil.getUserId() + "", false);
}
}
// 通过 ID 获取资源名称
@@ -572,7 +575,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
} catch (Exception e) {
viewName = "未知View ID: " + id;
}
LogUtils.e("roomKTVFragment","点击了" + viewName );
LogUtils.e("roomKTVFragment", "点击了" + viewName);
}
@Override
@@ -647,6 +650,8 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
@Override
public void onDestroyView() {
adapter.getData().clear();
adapter.notifyDataSetChanged();
super.onDestroyView();
releaseResources();
}
@@ -683,7 +688,7 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
AgoraManager.getInstance().isPreload(Long.parseLong(messageEvent.getText().getSongInfo().getSong_code()), 1);
setAgorVolumes();
} else {
volumeManager.saveBz(SpUtil.getUserId()+"",true);
volumeManager.saveBz(SpUtil.getUserId() + "", true);
volumeManager.clearCurrentVolumes();
if (AgoraManager.getInstance().isOnJoin()) {

View File

@@ -177,6 +177,20 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/vp_room_pager"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="@dimen/dp_58"
android:layout_height="@dimen/dp_250"
android:layout_marginEnd="@dimen/dp_21"
android:layout_marginTop="@dimen/dp_200"
android:nestedScrollingEnabled="true"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintVertical_bias="0.0"
/>
<com.xscm.moduleutil.widget.AvatarFrameView
android:id="@+id/svga_ride"
android:layout_width="match_parent"

View File

@@ -350,18 +350,7 @@
app:layout_constraintTop_toBottomOf="@+id/mu_zc"
app:room_wheat_number="10"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="@dimen/dp_58"
android:layout_height="0dp"
android:paddingEnd="@dimen/dp_5"
android:nestedScrollingEnabled="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/cl_bj"
app:layout_constraintTop_toBottomOf="@+id/mu_jb"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintVertical_bias="0.0"
/>
</androidx.constraintlayout.widget.ConstraintLayout>