Swift 即使IBOutlet已连接,远程视频流也不会呈现到UIView
我似乎无法将远程视频流正确渲染到我的UIView。我可以听到两个参与者的声音,但即使IO启动,似乎也无法渲染视频流 你知道为什么吗?这是我的密码:Swift 即使IBOutlet已连接,远程视频流也不会呈现到UIView,swift,agora.io,Swift,Agora.io,我似乎无法将远程视频流正确渲染到我的UIView。我可以听到两个参与者的声音,但即使IO启动,似乎也无法渲染视频流 你知道为什么吗?这是我的密码: func rtcEngine(_ engine: AgoraRtcEngineKit, firstRemoteVideoDecodedOfUid uid:UInt, size:CGSize, elapsed:Int) { DispatchQueue.main.async { if (self.remoteVideo.isH
func rtcEngine(_ engine: AgoraRtcEngineKit, firstRemoteVideoDecodedOfUid uid:UInt, size:CGSize, elapsed:Int) {
DispatchQueue.main.async {
if (self.remoteVideo.isHidden) {
self.remoteVideo.isHidden = false
}
self.agoraKit.muteLocalAudioStream(false)
let videoCanvas = AgoraRtcVideoCanvas()
videoCanvas.uid = 0
videoCanvas.view = self.remoteVideo
videoCanvas.renderMode = .adaptive
self.agoraKit.setupRemoteVideo(videoCanvas)
}
}
从您的代码中,我看到您正在将UID分配为0。这意味着它将自动为远程视图生成新的UID。如果愿意,可以将UID设置为0以自动生成本地视频流但是对于远程流,您需要获取分配给远程流的UID,该UID作为UID变量提供在回调方法的参数中 此外,还需要确保在采用AgorartEngineedElegate协议的扩展中添加委托方法
extension VideoChatViewController: AgoraRtcEngineDelegate {
// Tutorial Step 5
func rtcEngine(_ engine: AgoraRtcEngineKit, firstRemoteVideoDecodedOfUid uid:UInt, size:CGSize, elapsed:Int) {
DispatchQueue.main.async {
if (self.remoteVideo.isHidden) {
self.remoteVideo.isHidden = false
}
self.agoraKit.muteLocalAudioStream(false)
let videoCanvas = AgoraRtcVideoCanvas()
videoCanvas.uid = uid
videoCanvas.view = self.remoteVideo
videoCanvas.renderMode = .adaptive
self.agoraKit.setupRemoteVideo(videoCanvas)
}
}
}
布拉沃河