同步peko:同步音萌完成个播PK屏蔽麦功能

This commit is contained in:
Max
2023-12-13 14:51:49 +08:00
parent 9ac08da9f1
commit c8a23a1532
10 changed files with 79 additions and 3 deletions

View File

@@ -120,7 +120,6 @@ public class AvRoomPresenter extends BaseMvpPresenter<IAvRoomView> {
exitRoom();
}
AvRoomDataManager.get().updateServiceRoomInfo(roomInfo);
initAnotherPKData();
mAvRoomModel.enterRoom(roomInfo.getRoomId(), 3, fromType, fromNick, fromUid)
.flatMap(this::dealServerMicInfo)
.map(this::dealMicMemberFromIMNet)
@@ -143,6 +142,7 @@ public class AvRoomPresenter extends BaseMvpPresenter<IAvRoomView> {
.subscribe((stringServiceResult) -> EventBus.getDefault().post(new AudioPartyOpenEvent()));
mAvRoomModel.loadMessageHistory(AvRoomDataManager.get().clearScreenTime);
IMNetEaseManager.get().joinAvRoom();
initAnotherPKData();
}, this::dealEnterRoomError);
}
@@ -151,7 +151,12 @@ public class AvRoomPresenter extends BaseMvpPresenter<IAvRoomView> {
if (AvRoomDataManager.get().isOpenAnotherPKMode()) {
RoomPKModel.INSTANCE.getRoomPKData(AvRoomDataManager.get().getRoomUid())
.compose(bindToLifecycle())
.subscribe(roomPkBean -> AvRoomDataManager.get().roomPkLiveData.setValue(roomPkBean));
.subscribe(roomPkBean -> {
AvRoomDataManager.get().roomPkLiveData.setValue(roomPkBean);
if (AvRoomDataManager.get().isSingleRoom()){
AudioEngineManager.get().setRemoteMute(roomPkBean.getAUid(), roomPkBean.getAMicStatus() == 0);
}
});
}
}

View File

@@ -17,8 +17,10 @@ import com.chwl.app.ui.user.activity.UserInfoActivity
import com.chwl.app.ui.utils.load
import com.chwl.core.im.custom.bean.RoomPkBean
import com.chwl.core.manager.AvRoomDataManager
import com.chwl.core.room.anotherroompk.SingleRoomPKModel
import com.chwl.core.utils.CurrentTimeUtils
import com.chwl.core.utils.extension.subAndReplaceDot
import com.chwl.core.utils.extension.toast
import com.chwl.library.utils.ResUtil
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
@@ -55,6 +57,20 @@ class SingleRoomPKBoardView @JvmOverloads constructor(
SingleRoomPkRuleDialog.newInstance().show(context)
}
binding.ivMuteAnother.setOnClickListener {
if (AvRoomDataManager.get().isRoomOwner) {
roomPkBean?.let {
if (it.roundId == null) {
return@let
}
SingleRoomPKModel
.muteSingleRoomPkOtherMic(it.roundId, it.aMicStatus xor 1)
.subscribe()
}
} else {
"主播已關閉對方房間的聲音".toast()
}
}
}
override fun onDetachedFromWindow() {
@@ -118,7 +134,13 @@ class SingleRoomPKBoardView @JvmOverloads constructor(
binding.ivPkResult.isVisible = true
binding.ivPkResult.setImageResource(R.drawable.single_room_pk_ic_result_win)
}
if (roomPkBean?.aMicStatus == 0) {
binding.ivMuteAnother.isVisible = true
binding.ivMuteAnother.setImageResource(R.drawable.single_room_pk_ic_another_mic_close)
} else {
binding.ivMuteAnother.setImageResource(R.drawable.single_room_pk_ic_another_mic_open)
binding.ivMuteAnother.isVisible = AvRoomDataManager.get().isRoomOwner
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -72,6 +72,14 @@
app:layout_constraintStart_toStartOf="@id/iv_blue_avatar"
tools:src="@drawable/single_room_pk_ic_result_win" />
<ImageView
android:id="@+id/iv_mute_another"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/single_room_pk_ic_another_mic_open"
app:layout_constraintBottom_toBottomOf="@id/iv_blue_avatar"
app:layout_constraintEnd_toEndOf="@id/iv_blue_avatar" />
<TextView
android:id="@+id/tv_blue_nickname"
android:layout_width="wrap_content"