正在显示
4 个修改的文件
包含
21 行增加
和
7 行删除
| @@ -10,11 +10,13 @@ class SubscriberTransportObserver( | @@ -10,11 +10,13 @@ class SubscriberTransportObserver( | ||
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | override fun onIceCandidate(candidate: IceCandidate) { | 12 | override fun onIceCandidate(candidate: IceCandidate) { |
| 13 | + Timber.v { "onIceCandidate: $candidate" } | ||
| 13 | engine.client.sendCandidate(candidate, Rtc.SignalTarget.SUBSCRIBER) | 14 | engine.client.sendCandidate(candidate, Rtc.SignalTarget.SUBSCRIBER) |
| 14 | } | 15 | } |
| 15 | 16 | ||
| 16 | override fun onAddTrack(receiver: RtpReceiver, streams: Array<out MediaStream>) { | 17 | override fun onAddTrack(receiver: RtpReceiver, streams: Array<out MediaStream>) { |
| 17 | val track = receiver.track() ?: return | 18 | val track = receiver.track() ?: return |
| 19 | + Timber.v { "onAddTrack: $track, ${streams.fold("") { sum, it -> "$sum, $it" }}" } | ||
| 18 | engine.listener?.onAddTrack(track, streams) | 20 | engine.listener?.onAddTrack(track, streams) |
| 19 | } | 21 | } |
| 20 | 22 | ||
| @@ -27,6 +29,7 @@ class SubscriberTransportObserver( | @@ -27,6 +29,7 @@ class SubscriberTransportObserver( | ||
| 27 | } | 29 | } |
| 28 | 30 | ||
| 29 | override fun onDataChannel(channel: DataChannel) { | 31 | override fun onDataChannel(channel: DataChannel) { |
| 32 | + Timber.v { "onDataChannel" } | ||
| 30 | engine.listener?.onAddDataChannel(channel) | 33 | engine.listener?.onAddDataChannel(channel) |
| 31 | } | 34 | } |
| 32 | 35 |
| @@ -78,10 +78,17 @@ class CallViewModel( | @@ -78,10 +78,17 @@ class CallViewModel( | ||
| 78 | } | 78 | } |
| 79 | 79 | ||
| 80 | fun updateParticipants(room: Room) { | 80 | fun updateParticipants(room: Room) { |
| 81 | - mutableRemoteParticipants.value = room.remoteParticipants | ||
| 82 | - .keys | ||
| 83 | - .sortedBy { it.sid } | ||
| 84 | - .mapNotNull { room.remoteParticipants[it] } | 81 | + mutableRemoteParticipants.postValue( |
| 82 | + room.remoteParticipants | ||
| 83 | + .keys | ||
| 84 | + .sortedBy { it.sid } | ||
| 85 | + .mapNotNull { room.remoteParticipants[it] } | ||
| 86 | + ) | ||
| 85 | } | 87 | } |
| 86 | 88 | ||
| 89 | + override fun onCleared() { | ||
| 90 | + super.onCleared() | ||
| 91 | + mutableRoom.value?.disconnect() | ||
| 92 | + mutableRoom.value = null | ||
| 93 | + } | ||
| 87 | } | 94 | } |
| 1 | package io.livekit.android.sample | 1 | package io.livekit.android.sample |
| 2 | 2 | ||
| 3 | import android.view.View | 3 | import android.view.View |
| 4 | +import com.github.ajalt.timberkt.Timber | ||
| 4 | import com.xwray.groupie.viewbinding.BindableItem | 5 | import com.xwray.groupie.viewbinding.BindableItem |
| 5 | import com.xwray.groupie.viewbinding.GroupieViewHolder | 6 | import com.xwray.groupie.viewbinding.GroupieViewHolder |
| 6 | import io.livekit.android.room.Room | 7 | import io.livekit.android.room.Room |
| @@ -19,12 +20,13 @@ class ParticipantItem( | @@ -19,12 +20,13 @@ class ParticipantItem( | ||
| 19 | private var videoBound = false | 20 | private var videoBound = false |
| 20 | 21 | ||
| 21 | override fun initializeViewBinding(view: View): ParticipantItemBinding { | 22 | override fun initializeViewBinding(view: View): ParticipantItemBinding { |
| 22 | - return ParticipantItemBinding.bind(view) | 23 | + val binding = ParticipantItemBinding.bind(view) |
| 24 | + room.initVideoRenderer(binding.renderer) | ||
| 25 | + return binding | ||
| 23 | } | 26 | } |
| 24 | 27 | ||
| 25 | override fun bind(viewBinding: ParticipantItemBinding, position: Int) { | 28 | override fun bind(viewBinding: ParticipantItemBinding, position: Int) { |
| 26 | viewBinding.run { | 29 | viewBinding.run { |
| 27 | - room.initVideoRenderer(renderer) | ||
| 28 | 30 | ||
| 29 | val existingTrack = getVideoTrack() | 31 | val existingTrack = getVideoTrack() |
| 30 | if (existingTrack != null) { | 32 | if (existingTrack != null) { |
| @@ -58,6 +60,7 @@ class ParticipantItem( | @@ -58,6 +60,7 @@ class ParticipantItem( | ||
| 58 | return | 60 | return |
| 59 | } | 61 | } |
| 60 | 62 | ||
| 63 | + Timber.v { "adding renderer to $videoTrack" } | ||
| 61 | videoTrack.addRenderer(viewBinding.renderer) | 64 | videoTrack.addRenderer(viewBinding.renderer) |
| 62 | } | 65 | } |
| 63 | 66 |
-
请 注册 或 登录 后发表评论