Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
xuning
/
livekitAndroidXuningTest
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
xuning
2025-09-30 16:48:30 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
e80f3b68c007bea48f20e19e51e2fa5215b0c1d0
e80f3b68
1 parent
51eefa72
虚拟背景日志修改
隐藏空白字符变更
内嵌
并排对比
正在显示
6 个修改的文件
包含
19 行增加
和
5 行删除
examples/virtual-background/src/main/java/io/livekit/android/selfie/MainActivity.kt
examples/virtual-background/src/main/java/io/livekit/android/selfie/MainViewModel.kt
examples/virtual-background/src/main/res/layout/activity_main.xml
livekit-android-track-processors/src/main/java/io/livekit/android/track/processing/video/VirtualBackgroundTransformer.kt
livekit-android-track-processors/src/main/java/io/livekit/android/track/processing/video/VirtualBackgroundVideoProcessor.kt
sample-app-record-local/src/main/java/io/livekit/android/sample/record/MainActivity.kt
examples/virtual-background/src/main/java/io/livekit/android/selfie/MainActivity.kt
查看文件 @
e80f3b6
...
...
@@ -23,6 +23,7 @@ import android.widget.Button
import android.widget.Toast
import androidx.activity.ComponentActivity
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import androidx.lifecycle.ViewModelProvider
...
...
@@ -63,10 +64,14 @@ class MainActivity : AppCompatActivity() {
}
findViewById<Button>(R.id.buttonIncreaseBlur).setOnClickListener {
android.util.Log.e("MainActivity", "=== BLUR MORE BUTTON CLICKED ===")
viewModel.increaseBlur()
Toast.makeText(this, "Blur increased", Toast.LENGTH_SHORT).show()
}
findViewById<Button>(R.id.buttonDecreaseBlur).setOnClickListener {
android.util.Log.e("MainActivity", "=== BLUR LESS BUTTON CLICKED ===")
viewModel.decreaseBlur()
Toast.makeText(this, "Blur decreased", Toast.LENGTH_SHORT).show()
}
requestNeededPermissions {
...
...
examples/virtual-background/src/main/java/io/livekit/android/selfie/MainViewModel.kt
查看文件 @
e80f3b6
...
...
@@ -59,7 +59,8 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
private var blur = 16f
private val processor = VirtualBackgroundVideoProcessor(eglBase, Dispatchers.IO, initialBlurRadius = blur).apply {
backgroundImage = virtualBackground
// 初始状态不设置背景图片,这样blur功能才能正常工作
// backgroundImage = virtualBackground
}
private var cameraProvider: CameraCapturerUtils.CameraProvider? = null
...
...
@@ -113,12 +114,14 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
}
fun decreaseBlur() {
blur -= 5
blur = maxOf(0f, blur - 5) // 确保blur不会小于0
android.util.Log.e("MainViewModel", "=== DECREASING BLUR TO: $blur, processor enabled: ${processor.enabled} ===")
processor.updateBlurRadius(blur)
}
fun increaseBlur() {
blur += 5
blur = minOf(50f, blur + 5) // 限制最大blur为50,避免过度模糊
android.util.Log.e("MainViewModel", "=== INCREASING BLUR TO: $blur, processor enabled: ${processor.enabled} ===")
processor.updateBlurRadius(blur)
}
...
...
examples/virtual-background/src/main/res/layout/activity_main.xml
查看文件 @
e80f3b6
...
...
@@ -43,7 +43,7 @@
android:layout_height=
"wrap_content"
android:layout_gravity=
"end"
android:layout_margin=
"10dp"
android:text=
"B
lur more
"
/>
android:text=
"B
LUR MORE (FIXED)
"
/>
<Button
android:id=
"@+id/buttonDecreaseBlur"
...
...
livekit-android-track-processors/src/main/java/io/livekit/android/track/processing/video/VirtualBackgroundTransformer.kt
查看文件 @
e80f3b6
...
...
@@ -41,6 +41,10 @@ class VirtualBackgroundTransformer(
var downSampleFactor: Int = 2,
) : RendererCommon.GlDrawer {
init {
android.util.Log.d("", "Created with initial blur radius: $blurRadius")
}
data class MaskHolder(val width: Int, val height: Int, val buffer: ByteBuffer)
private lateinit var compositeShader: CompositeShader
...
...
@@ -175,6 +179,7 @@ class VirtualBackgroundTransformer(
val downSampleHeight = frameHeight / downSampleFactor
val downSampledFrameTexture = downSampler.resample(oesTextureId, downSampleWidth, downSampleHeight, IDENTITY)
android.util.Log.d("", "Applying blur with radius: $blurRadius to ${downSampleWidth}x${downSampleHeight}")
backgroundTexture =
blurShader.applyBlur(downSampledFrameTexture, blurRadius, downSampleWidth, downSampleHeight, bgTextureFrameBuffers)
}
...
...
livekit-android-track-processors/src/main/java/io/livekit/android/track/processing/video/VirtualBackgroundVideoProcessor.kt
查看文件 @
e80f3b6
...
...
@@ -243,6 +243,7 @@ class VirtualBackgroundVideoProcessor(
}
fun updateBlurRadius(blurRadius: Float) {
android.util.Log.d("VirtualBackgroundVideoProcessor", "Updating blur radius to: $blurRadius, enabled: $enabled")
backgroundTransformer.blurRadius = blurRadius
}
...
...
sample-app-record-local/src/main/java/io/livekit/android/sample/record/MainActivity.kt
查看文件 @
e80f3b6
...
...
@@ -94,7 +94,7 @@ class MainActivity : ComponentActivity() {
}
private fun connectToRoom() {
val url = "
wss://www.example.com
"
val url = "
https://livekittest-demo.xuedianyun.com/
"
val token = ""
lifecycleScope.launch {
...
...
请
注册
或
登录
后发表评论