在iOS模拟器上测试具有路由会话的视频通话时,用户会以未经证实的原因禁用其视频。
在最新版本的OpenTok 2.15.3中,我们可以看到视频被禁用的可能原因是:
declare function local:string-pad($pad-string as xs:string?, $pad-count as xs:integer) as xs:string?
{
if (empty($pad-string)) then ()
else if ($pad-count lt 0) then error((),"Invalid pad count")
else if ($pad-count eq 0) then ""
else string-join(for $i in 1 to $pad-count return $pad-string,"")
};
在iOS 11模拟器上,尝试订阅后,我正在使用typedef NS_ENUM(int32_t, OTSubscriberVideoEventReason) {
OTSubscriberVideoEventPublisherPropertyChanged = 1,
OTSubscriberVideoEventSubscriberPropertyChanged = 2,
OTSubscriberVideoEventQualityChanged = 3
};
启用了视频,然后在OTSubscriberVideoEventReason == 2
禁用了视频之后,在{{1 }}:
OTSubscriberVideoEventReason == 4
文档建议尝试重新订阅或重新连接...重新订阅无效。此外,它仅在模拟器上发生,这使我认为设置没有任何真正的问题,但真正的问题是subscriberDidDisconnectFromStream
是什么?
答案 0 :(得分:2)
此处是TokBox开发人员的传播者。
是的,很遗憾,我们没有公开记录此特定案例(对此感到抱歉)。我们计划在2.16.0版本中添加它。
调度OTSubscriberVideoEventReason=4
的原因是由于流中使用了模拟器不支持的视频编解码器(例如H.264),因此订阅者流中的视频被禁用。