steep-balloon-41261
01/06/2023, 3:59 PMeager-raincoat-52616
01/06/2023, 11:07 PMalert-oil-38776
01/07/2023, 12:15 AMalert-oil-38776
01/07/2023, 12:16 AMeager-raincoat-52616
01/07/2023, 12:22 AMeager-raincoat-52616
01/07/2023, 12:24 AMval track = localParticipant.createVideoTrack()
track.startCapture()
// ...
// when connected
localParticipant.publishVideoTrack(track)alert-oil-38776
01/07/2023, 12:31 AMalert-oil-38776
01/07/2023, 12:32 AMeager-raincoat-52616
01/07/2023, 12:34 AMalert-oil-38776
01/07/2023, 12:36 AMval trackMap by participant::videoTracks.flow.collectAsState()
val videoTrackMap = trackMap.minByOrNull {
it.first.source == Track.Source.CAMERA
}
val videoTrack = videoTrackMap?.second as? VideoTrack
if (videoTrack != null) {
VideoRenderer(
modifier = modifier,
room = room,
videoTrack = videoTrack,
)
}alert-oil-38776
01/07/2023, 12:36 AMVideoItemTrackSelector(
modifier = Modifier.fillMaxSize(),
room = vm.room,
participant = vm.localParticipant,
)eager-raincoat-52616
01/07/2023, 12:37 AMalert-oil-38776
01/07/2023, 12:38 AMalert-oil-38776
01/07/2023, 12:38 AMsuspend fun publishLocalCamera() {
val videoTrack = localParticipant.createVideoTrack(
options = LocalVideoTrackOptions(
position = CameraPosition.FRONT,
captureParams = VideoPreset43.QHD.capture,
)
)
videoTrack.startCapture()
localParticipant.apply {
publishVideoTrack(videoTrack)
setMicrophoneEnabled(true)
setCameraEnabled(true)
}
}alert-oil-38776
01/07/2023, 12:40 AMeager-raincoat-52616
01/07/2023, 12:48 AMalert-oil-38776
01/07/2023, 12:55 AM