【发布时间】:2015-10-13 00:31:46
【问题描述】:
这是我想创建的一个基本视频聊天,连接了 2 个用户。 在对 opentok 教程做了一些研究之后,我能够在没有服务器 SDK 的情况下创建 2 路聊天。
但是当我创建 rails 服务器端应用程序时,我无法进行双向聊天,而是链接仅创建单个会话并且不接受任何其他用户。
我已将 gem opentok 包含在 Gemfile 中。
问题: 即使在另一个选项卡中存在现有屏幕之后,也只会出现 Single Video Div。即,我打开链接,我得到一个视频屏幕,当我在另一个选项卡中打开相同的链接时,我得到一个视频屏幕而不是两个。 (会话连接的一些问题)。
来自控制器的代码:
class AuthController < ApplicationController
require "opentok"
def index
config_opentok
session = @opentok.create_session
@id = session.session_id
@token = session.generate_token
end
private
def config_opentok
if @opentok.nil?
@opentok = OpenTok::OpenTok.new API_KEY, 'SECRET'
end
end
end
我在上面输入了正确的 Api_key 和 Secret,正如 Opentok 仪表板中给出的那样。
视图代码:
<div id='myPublisherDiv'></div>
<div id='subscribersDiv'></div>
<script src='//static.opentok.com/v2/js/opentok.min.js'></script>
<script>
var apiKey = API_KEY; // used correct Api_key in APP
var sessionId = '<%= @id %>';
var token = '<%= @token %>';
var session = OT.initSession(apiKey, sessionId);
session.on({
streamCreated: function(event) {
session.subscribe(event.stream, 'subscribersDiv', {insertMode: 'append'});
}
});
session.connect(token, function(error) {
if (error) {
console.log(error.message);
} else {
session.publish('myPublisherDiv', {width: 320, height: 240});
}
});
</script>
我尝试了其他一些变体,添加事件处理程序等,但对我没有任何帮助。 任何帮助表示赞赏。如果可能,请提供示例代码。
【问题讨论】:
标签: javascript ruby-on-rails session dom-events opentok