正在显示
6 个修改的文件
包含
19 行增加
和
5 行删除
| @@ -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 { |
-
请 注册 或 登录 后发表评论