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
davidliu
2022-01-30 11:31:53 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
ef0b62bbad176b7447fcf68d817dd4b004d443ce
ef0b62bb
1 parent
ac08aff1
fix video not showing up sometimes for remote participants
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
12 行增加
和
7 行删除
livekit-android-sdk/src/main/java/io/livekit/android/room/participant/Participant.kt
sample-app-compose/src/main/java/io/livekit/android/composesample/ParticipantItem.kt
sample-app-compose/src/main/java/io/livekit/android/composesample/VideoItem.kt
livekit-android-sdk/src/main/java/io/livekit/android/room/participant/Participant.kt
查看文件 @
ef0b62b
...
...
@@ -250,7 +250,6 @@ open class Participant(
scope
)
}
}
@Deprecated("Use Participant.events instead.")
...
...
sample-app-compose/src/main/java/io/livekit/android/composesample/ParticipantItem.kt
查看文件 @
ef0b62b
...
...
@@ -58,7 +58,6 @@ fun ParticipantItem(
VideoItemTrackSelector(
room = room,
participant = participant,
videoTracks = videoTracks,
modifier = Modifier.fillMaxSize()
)
} else {
...
...
sample-app-compose/src/main/java/io/livekit/android/composesample/VideoItem.kt
查看文件 @
ef0b62b
...
...
@@ -9,9 +9,10 @@ import io.livekit.android.room.Room
import io.livekit.android.room.participant.Participant
import io.livekit.android.room.track.RemoteVideoTrack
import io.livekit.android.room.track.Track
import io.livekit.android.room.track.TrackPublication
import io.livekit.android.room.track.VideoTrack
import io.livekit.android.room.track.video.ComposeVisibility
import io.livekit.android.util.flow
import kotlinx.coroutines.flow.map
/**
* Widget for displaying a VideoTrack. Handles the Compose <-> AndroidView interop needed to use
...
...
@@ -84,13 +85,19 @@ fun VideoItem(
fun VideoItemTrackSelector(
room: Room,
participant: Participant,
videoTracks: Map<String, TrackPublication>,
modifier: Modifier = Modifier
) {
val videoTrack = participant.getTrackPublication(Track.Source.SCREEN_SHARE)?.track as? VideoTrack
?: participant.getTrackPublication(Track.Source.CAMERA)?.track as? VideoTrack
?: videoTracks.values.firstOrNull()?.track as? VideoTrack
val subscribedVideoTracksFlow by remember(participant) {
mutableStateOf(
participant::videoTracks.flow
.map { tracks -> tracks.values.filter { pub -> pub.subscribed } }
)
}
val videoTracks by subscribedVideoTracksFlow.collectAsState(initial = emptyList())
val videoTrack = videoTracks.firstOrNull { pub -> pub.source == Track.Source.SCREEN_SHARE }?.track as? VideoTrack
?: videoTracks.firstOrNull { pub -> pub.source == Track.Source.CAMERA }?.track as? VideoTrack
?: videoTracks.firstOrNull()?.track as? VideoTrack
if (videoTrack != null) {
VideoItem(
...
...
请
注册
或
登录
后发表评论