xuning

虚拟背景日志修改

@@ -23,6 +23,7 @@ import android.widget.Button @@ -23,6 +23,7 @@ import android.widget.Button
23 import android.widget.Toast 23 import android.widget.Toast
24 import androidx.activity.ComponentActivity 24 import androidx.activity.ComponentActivity
25 import androidx.activity.result.contract.ActivityResultContracts 25 import androidx.activity.result.contract.ActivityResultContracts
  26 +import androidx.appcompat.app.AlertDialog
26 import androidx.appcompat.app.AppCompatActivity 27 import androidx.appcompat.app.AppCompatActivity
27 import androidx.core.content.ContextCompat 28 import androidx.core.content.ContextCompat
28 import androidx.lifecycle.ViewModelProvider 29 import androidx.lifecycle.ViewModelProvider
@@ -63,10 +64,14 @@ class MainActivity : AppCompatActivity() { @@ -63,10 +64,14 @@ class MainActivity : AppCompatActivity() {
63 } 64 }
64 65
65 findViewById<Button>(R.id.buttonIncreaseBlur).setOnClickListener { 66 findViewById<Button>(R.id.buttonIncreaseBlur).setOnClickListener {
  67 + android.util.Log.e("MainActivity", "=== BLUR MORE BUTTON CLICKED ===")
66 viewModel.increaseBlur() 68 viewModel.increaseBlur()
  69 + Toast.makeText(this, "Blur increased", Toast.LENGTH_SHORT).show()
67 } 70 }
68 findViewById<Button>(R.id.buttonDecreaseBlur).setOnClickListener { 71 findViewById<Button>(R.id.buttonDecreaseBlur).setOnClickListener {
  72 + android.util.Log.e("MainActivity", "=== BLUR LESS BUTTON CLICKED ===")
69 viewModel.decreaseBlur() 73 viewModel.decreaseBlur()
  74 + Toast.makeText(this, "Blur decreased", Toast.LENGTH_SHORT).show()
70 } 75 }
71 76
72 requestNeededPermissions { 77 requestNeededPermissions {
@@ -59,7 +59,8 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { @@ -59,7 +59,8 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
59 59
60 private var blur = 16f 60 private var blur = 16f
61 private val processor = VirtualBackgroundVideoProcessor(eglBase, Dispatchers.IO, initialBlurRadius = blur).apply { 61 private val processor = VirtualBackgroundVideoProcessor(eglBase, Dispatchers.IO, initialBlurRadius = blur).apply {
62 - backgroundImage = virtualBackground 62 + // 初始状态不设置背景图片,这样blur功能才能正常工作
  63 + // backgroundImage = virtualBackground
63 } 64 }
64 65
65 private var cameraProvider: CameraCapturerUtils.CameraProvider? = null 66 private var cameraProvider: CameraCapturerUtils.CameraProvider? = null
@@ -113,12 +114,14 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { @@ -113,12 +114,14 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
113 } 114 }
114 115
115 fun decreaseBlur() { 116 fun decreaseBlur() {
116 - blur -= 5 117 + blur = maxOf(0f, blur - 5) // 确保blur不会小于0
  118 + android.util.Log.e("MainViewModel", "=== DECREASING BLUR TO: $blur, processor enabled: ${processor.enabled} ===")
117 processor.updateBlurRadius(blur) 119 processor.updateBlurRadius(blur)
118 } 120 }
119 121
120 fun increaseBlur() { 122 fun increaseBlur() {
121 - blur += 5 123 + blur = minOf(50f, blur + 5) // 限制最大blur为50,避免过度模糊
  124 + android.util.Log.e("MainViewModel", "=== INCREASING BLUR TO: $blur, processor enabled: ${processor.enabled} ===")
122 processor.updateBlurRadius(blur) 125 processor.updateBlurRadius(blur)
123 } 126 }
124 127
@@ -43,7 +43,7 @@ @@ -43,7 +43,7 @@
43 android:layout_height="wrap_content" 43 android:layout_height="wrap_content"
44 android:layout_gravity="end" 44 android:layout_gravity="end"
45 android:layout_margin="10dp" 45 android:layout_margin="10dp"
46 - android:text="Blur more" /> 46 + android:text="BLUR MORE (FIXED)" />
47 47
48 <Button 48 <Button
49 android:id="@+id/buttonDecreaseBlur" 49 android:id="@+id/buttonDecreaseBlur"
@@ -41,6 +41,10 @@ class VirtualBackgroundTransformer( @@ -41,6 +41,10 @@ class VirtualBackgroundTransformer(
41 var downSampleFactor: Int = 2, 41 var downSampleFactor: Int = 2,
42 ) : RendererCommon.GlDrawer { 42 ) : RendererCommon.GlDrawer {
43 43
  44 + init {
  45 + android.util.Log.d("", "Created with initial blur radius: $blurRadius")
  46 + }
  47 +
44 data class MaskHolder(val width: Int, val height: Int, val buffer: ByteBuffer) 48 data class MaskHolder(val width: Int, val height: Int, val buffer: ByteBuffer)
45 49
46 private lateinit var compositeShader: CompositeShader 50 private lateinit var compositeShader: CompositeShader
@@ -175,6 +179,7 @@ class VirtualBackgroundTransformer( @@ -175,6 +179,7 @@ class VirtualBackgroundTransformer(
175 val downSampleHeight = frameHeight / downSampleFactor 179 val downSampleHeight = frameHeight / downSampleFactor
176 180
177 val downSampledFrameTexture = downSampler.resample(oesTextureId, downSampleWidth, downSampleHeight, IDENTITY) 181 val downSampledFrameTexture = downSampler.resample(oesTextureId, downSampleWidth, downSampleHeight, IDENTITY)
  182 + android.util.Log.d("", "Applying blur with radius: $blurRadius to ${downSampleWidth}x${downSampleHeight}")
178 backgroundTexture = 183 backgroundTexture =
179 blurShader.applyBlur(downSampledFrameTexture, blurRadius, downSampleWidth, downSampleHeight, bgTextureFrameBuffers) 184 blurShader.applyBlur(downSampledFrameTexture, blurRadius, downSampleWidth, downSampleHeight, bgTextureFrameBuffers)
180 } 185 }
@@ -243,6 +243,7 @@ class VirtualBackgroundVideoProcessor( @@ -243,6 +243,7 @@ class VirtualBackgroundVideoProcessor(
243 } 243 }
244 244
245 fun updateBlurRadius(blurRadius: Float) { 245 fun updateBlurRadius(blurRadius: Float) {
  246 + android.util.Log.d("VirtualBackgroundVideoProcessor", "Updating blur radius to: $blurRadius, enabled: $enabled")
246 backgroundTransformer.blurRadius = blurRadius 247 backgroundTransformer.blurRadius = blurRadius
247 } 248 }
248 249
@@ -94,7 +94,7 @@ class MainActivity : ComponentActivity() { @@ -94,7 +94,7 @@ class MainActivity : ComponentActivity() {
94 } 94 }
95 95
96 private fun connectToRoom() { 96 private fun connectToRoom() {
97 - val url = "wss://www.example.com" 97 + val url = "https://livekittest-demo.xuedianyun.com/"
98 val token = "" 98 val token = ""
99 99
100 lifecycleScope.launch { 100 lifecycleScope.launch {