我正在尝试将React360和OpenTok结合在一起以创建一个react native应用程序,使用户在浏览React360 VR环境时可以看到彼此的屏幕。使用Web视图显示React360,该Web视图指向存储在服务器中的HTML文件。
目前,我已经设法使用OpenTok(react-native-opentok)连接这两个设备,并且还能够在Webview中显示React360。
问题是; React360中的环境不会出现在OpenTok Publisher或Subscriber中(图像,按钮或视图均未显示)。取而代之的是,它仅显示带有摄像机方向指示符的空白屏幕(来自React360)。当我移动相机时,相机的方向指示器(在Publisher / Subscriber中)确实会移动,这意味着视图没有更新的情况并不存在。
在控制台中运行该应用程序时没有错误。
以下是我用来渲染屏幕的代码:
render() {
return (
<View style={styles.container}>
<ScreenCapture>
<WebView style={styles.webContainer}
source={{uri: URL_REACT360 + IMAGE_CATHE}}
scalesPageToFit={true}
allowUniversalAccessFromFileURLs={true}
javaScriptEnabled={true}
onError={(e)=>{console.log(e)}} />
</ScreenCapture>
<Subscriber sessionId={SESSION_ID}
style={styles.subscriber}
onSubscribeError={this.onSubscribeError} />
<Publisher sessionId={SESSION_ID}
screenCapture={this.state.showScreen}
mute={this.state.isMute}
style={styles.publisher}
ref={this.setRefPublisher}
onPublishError={this.onPublishError} />
</View>
);
}
编辑:
经过更多的研究和测试;我注意到,尝试显示任何webGL网站都会导致OpenTok改为显示空白。根据React360的人员所说,环境是在webGL中完成的,而指示器只是一个可以解释当前情况的HTML元素。但是,我不确定这是OpenTok还是WebRTC问题,或者是否有办法完全解决此问题。