我正在尝试使用现有的Tokbox会话和发布流来获取特定时间(单击按钮等)的统计信息。
tokbox.com上的主要文档讨论了此方法,但是使用react tokbox
无法访问该方法。这是代码的样子。首先是创建会话
m(0)=0
然后在jsx中使用它
m(0,x_j)=m(x_i,0)=0
文档要求调用getPublisher方法来获取使用Publisher方法的Publisher实例(我想通过它可以使用getStats),但是我不确定如何做到这一点。任何帮助将不胜感激。
P.S:我真的不想使用opentok-network-test并创建一个仅用于测试的新实例
答案 0 :(得分:0)
好的,我能够解决这个问题。我将问题留在这里,以便其他人是否遇到相同的问题。
您要做的是,除了上面的代码外,您别忘了在构造函数中初始化引用(就像我一样)
constructor(props) {
super(props);
this.otPublisher = React.createRef();
}
然后在装入组件后或在组件内部创建会话的任何位置访问该引用。例如,问题中的第一个代码块现在看起来像这样,
startTokBox = (sessionData) => {
const { webrtc_api, webrtc_session_id, webrtc_token } = sessionData.webrtc_details || {};
this.tokbox = createSession({
apiKey: String(webrtc_api),
sessionId: webrtc_session_id,
token: webrtc_token,
onStreamsUpdated: (streams) => {
this.setState({ streams });
},
});
this.otPublisher.current.getPublisher();
}
然后,如果您想获取统计信息,那就是一个函数,看起来像这样。
this.otPublisher.current.getPublisher().getStats((err, stats) => console.log('stats', err, stats));
有关此票证的更多信息和帮助:https://github.com/opentok/opentok-react/issues/49