From b1523c2f2acd1b386b292da4facee6fffb3f8842 Mon Sep 17 00:00:00 2001 From: lzl <1239365383@qq.com> Date: Tue, 13 Jan 2026 16:07:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A4=E5=8F=8B=E5=B0=8F=E9=BB=91=E5=B1=8B?= =?UTF-8?q?=E7=A4=BC=E7=89=A9=E4=BB=B7=E6=A0=BC1,=E9=85=92=E5=90=A7?= =?UTF-8?q?=E6=88=BF=E6=80=A7=E5=88=AB=EF=BC=8Cvap=20mp4=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E5=A3=B0=E9=9F=B3=E8=AE=BE=E7=BD=AE0.04f=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../room/fragment/RoomPrivateFragment.kt | 4 +-- .../modulemain/widget/RoomPubWheatView.kt | 16 +++++++++- .../main/res/layout/fragment_room_private.xml | 6 ++-- .../main/res/layout/layout_room_pub_wheat.xml | 30 ++++++++++-------- .../src/main/res/mipmap-hdpi/icon_sex_0.png | Bin 0 -> 631 bytes .../src/main/res/mipmap-hdpi/icon_sex_1.png | Bin 0 -> 624 bytes .../src/main/res/mipmap-xhdpi/icon_sex_0.png | Bin 0 -> 770 bytes .../src/main/res/mipmap-xhdpi/icon_sex_1.png | Bin 0 -> 768 bytes .../src/main/res/mipmap-xxhdpi/icon_sex_0.png | Bin 0 -> 1422 bytes .../src/main/res/mipmap-xxhdpi/icon_sex_1.png | Bin 0 -> 1369 bytes .../tencent/qgame/animplayer/AudioPlayer.kt | 6 ++++ 11 files changed, 42 insertions(+), 20 deletions(-) create mode 100644 MainModule/src/main/res/mipmap-hdpi/icon_sex_0.png create mode 100644 MainModule/src/main/res/mipmap-hdpi/icon_sex_1.png create mode 100644 MainModule/src/main/res/mipmap-xhdpi/icon_sex_0.png create mode 100644 MainModule/src/main/res/mipmap-xhdpi/icon_sex_1.png create mode 100644 MainModule/src/main/res/mipmap-xxhdpi/icon_sex_0.png create mode 100644 MainModule/src/main/res/mipmap-xxhdpi/icon_sex_1.png diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPrivateFragment.kt b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPrivateFragment.kt index 0b68b57b..7bc8c827 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPrivateFragment.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPrivateFragment.kt @@ -219,11 +219,11 @@ class RoomPrivateFragment(var mRoomInfoResp: RoomInfoResp?) : // 设置 padding(左、上、右、下) itemImage.setPadding(paddingPx, paddingPx, paddingPx, paddingPx) itemImage.tag = showList[0].gift_id - Glide.with(itemImage!!) + Glide.with(itemImage) .load(showList[0].base_image) .into(itemImage) itemImage.visibility = View.VISIBLE - giftTViewList[idx].visibility = View.INVISIBLE + giftTViewList[idx].visibility = View.VISIBLE } @SuppressLint("SetTextI18n") diff --git a/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt b/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt index bf427408..c98b76e3 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt @@ -30,6 +30,7 @@ class RoomPubWheatView : BaseWheatView { private var iv_tag_type: ImageView? = null var iv_custom_gift: ImageView? = null + var iv_shutup: ImageView? = null private var hostTv: TextView? = null private var tv_time: TextView? = null private var ll_bottom: LinearLayout? = null @@ -64,6 +65,7 @@ class RoomPubWheatView : BaseWheatView { ivYueT = findViewById(R.id.iv_yue_t) ivLiaoT = findViewById(R.id.iv_liao_t) iv_gift = findViewById(R.id.iv_gift) + iv_shutup = findViewById(R.id.iv_shutup) } @@ -86,6 +88,7 @@ class RoomPubWheatView : BaseWheatView { tv_time?.visibility = View.INVISIBLE ll_bottom?.visibility = View.INVISIBLE iv_custom_gift?.visibility = View.GONE + iv_shutup?.visibility = View.GONE } "10" -> { @@ -94,12 +97,14 @@ class RoomPubWheatView : BaseWheatView { tv_time?.visibility = View.INVISIBLE ll_bottom?.visibility = View.INVISIBLE iv_custom_gift?.visibility = View.GONE + iv_shutup?.visibility = View.GONE } else -> { tv_time?.visibility = View.INVISIBLE ll_bottom?.visibility = View.INVISIBLE iv_custom_gift?.visibility = View.GONE + iv_shutup?.visibility = View.GONE } } @@ -142,6 +147,8 @@ class RoomPubWheatView : BaseWheatView { tv_time?.text = "00:00" } + iv_shutup?.setImageResource(if (bean.sex == "1") R.mipmap.icon_sex_1 else R.mipmap.icon_sex_0) + iv_shutup?.visibility = View.VISIBLE if (TextUtils.isEmpty(bean.dress)) { mIvFrame.stopAll() mIvFrame.visibility = INVISIBLE @@ -153,7 +160,13 @@ class RoomPubWheatView : BaseWheatView { private val pitNumberText: String get() { - return pitNumber+"号麦" + return if (pitNumber == "9") { + "" + } else if (pitNumber == "10") { + "" + }else{ + pitNumber+"号麦" + } } private fun handleOffState(bean: RoomPitBean) { @@ -165,6 +178,7 @@ class RoomPubWheatView : BaseWheatView { mIvFrame.stopAll() mIvFrame.visibility = GONE mIvRipple.visibility = GONE + iv_shutup?.visibility = View.GONE } private fun stopAndClearAnimation() { diff --git a/MainModule/src/main/res/layout/fragment_room_private.xml b/MainModule/src/main/res/layout/fragment_room_private.xml index d3659171..50bd93e4 100644 --- a/MainModule/src/main/res/layout/fragment_room_private.xml +++ b/MainModule/src/main/res/layout/fragment_room_private.xml @@ -145,21 +145,21 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" - app:layout_constraintGuide_percent="0.66" /> + app:layout_constraintGuide_percent="0.6" /> + app:layout_constraintGuide_percent="0.72" /> + app:layout_constraintGuide_percent="0.82" /> + + + + - - diff --git a/MainModule/src/main/res/mipmap-hdpi/icon_sex_0.png b/MainModule/src/main/res/mipmap-hdpi/icon_sex_0.png new file mode 100644 index 0000000000000000000000000000000000000000..d0fa95da403bf246a48f95efc4538058d2222ccf GIT binary patch literal 631 zcmV--0*L*IP)n(83Qm;lz_{USJ=8W%V%<$3jvM>Gcjj+8LYHXdX!x(dgkyN*I{o_k9=A4XnafO=K!T3Hn+Y6@; zz!|;2O^-l3ArrnuOAsnbUnT3W*4GA0zhUA5oEK-_L1M4305#c5(9mtMBmiHMt}5zm zg{L22r3j(AeEty{1Z!;)NUbT)O4~2~p9&!~)m8lU0eD_6lzona7UyDROR}LBc5DJ` z;O$o!=zuO&uyZpU*$rliR4D&3CUxTwepjyTJF`xfR|kG$?y?kNRJR>6a0# zEKJs7cw9Cl{eb2_!LcrQqyc&Gg@;4~OTUI68lYei8J_v%r1rZKIW}lLZ7O?e9y(f} zWqsscL*yxuwB&P7a3&K0e(H_sS1_wzufKqAtNlgMig3&l<}%jYJ(VTkq9O|vOR%Kg zoL1vY%xmHb{6h=iF8Mqg1#XS$cXv|yJ#k*V204{w?rZ7eq!V)<5G89d&ZH9=3b`@D z(x?J=aD34kL)}@~X-eiOgB3eeYDF`ZOq(xVV zq6=&2 z(Qa`x1Y3x%fP4`qW*LIbd6R0KSE$Z#Hg~bQjiey)=ztS-mjKv&Z_no zAvCi9Z@$CvZP22j`E0$h(u5hwhF*acZ^WwhYuc9MKAwOllhD%$`{PirQTkqI6@z`WJK1M)BA*pFCM}B}+;2UCq7KVo zuox>i&Uv1mEQ}vySimuzJ(LDFsl`7sulN3_SmbD?kLUiZL@~21!IgR09Ac)wUX4jZ~Nb0000< KMNUMnLSTZ^tQ$lC literal 0 HcmV?d00001 diff --git a/MainModule/src/main/res/mipmap-xhdpi/icon_sex_0.png b/MainModule/src/main/res/mipmap-xhdpi/icon_sex_0.png new file mode 100644 index 0000000000000000000000000000000000000000..bc0bac1fb5a41d5e3098e70b37ff3d00a0bf6169 GIT binary patch literal 770 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 bK~w_(?|Gt7lmzBL00000NkvXXu0mjfIP|7? literal 0 HcmV?d00001 diff --git a/animplayer/src/main/java/com/tencent/qgame/animplayer/AudioPlayer.kt b/animplayer/src/main/java/com/tencent/qgame/animplayer/AudioPlayer.kt index 80b0f9a4..bb5429ed 100644 --- a/animplayer/src/main/java/com/tencent/qgame/animplayer/AudioPlayer.kt +++ b/animplayer/src/main/java/com/tencent/qgame/animplayer/AudioPlayer.kt @@ -99,6 +99,12 @@ class AudioPlayer(val player: AnimPlayer) { val bufferSize = AudioTrack.getMinBufferSize(sampleRate, channelConfig, AudioFormat.ENCODING_PCM_16BIT) val audioTrack = AudioTrack(AudioManager.STREAM_MUSIC, sampleRate, channelConfig, AudioFormat.ENCODING_PCM_16BIT, bufferSize, AudioTrack.MODE_STREAM) this.audioTrack = audioTrack + + // 2. 同步更新 AudioTrack 的音量(核心:调用 setStereoVolume) + audioTrack.takeIf { it.state == AudioTrack.STATE_INITIALIZED }?.apply { + // 左右声道设为相同值,兼容单/双声道场景 + setStereoVolume(0.04f, 0.04f) + } val state = audioTrack.state if (state != AudioTrack.STATE_INITIALIZED) { release()