gpt4 book ai didi

javascript - OpenTok 视频聊天

转载 作者:行者123 更新时间:2023-11-30 05:39:50 25 4
gpt4 key购买 nike

我使用 opentok 创建了在线教育视频门户。学生人数请看老师视频。老师也会看到所有已连接学生的视频。使用以下代码我可以阻止自己订阅:-

function subscribeToStreams(streams) {
for (var i = 0; i < streams.length; i++) {
// Make sure we don't subscribe to ourself

if (streams[i].connection.connectionId == session.connection.connectionId) {
return;
}

//if (streams[i].connection.connectionId != session.connection.connectionId) {
// Create the div to put the subscriber element in to
var container = document.getElementById('videoContainer');
var div = document.createElement('div');

var id = 'stream' + streams[i].streamId;
div.setAttribute('id', id);
container.appendChild(div);

// Subscribe to the stream
session.subscribe(streams[i], div.id);
div.style.width = '20%';
div.style.height = '20%';
div.style.left = '80%';
//}
}
}

我想阻止学生看到其他学生的视频。学生应该只能看到老师的视频。

帮助将不胜感激。谢谢

最佳答案

最好的方法是使用 token 。假设您正在为每个用户生成一个 token (您应该这样做),您必须通过设置 connection_data 属性将数据放入每个用户的 token 中。 Example in Ruby .我会将字符串“student”或“teacher”设置到 token 的 connection_data 中。

在 streamCreated 事件上,您可以在事件处理程序中查找与流关联的 connection_data:event.stream.connection.data

在您的学生端,您可以简单地检查连接数据以仅在收到 streamCreated 事件时订阅教师的流:

function(e){
if( e.stream.connection.data == "teacher" ){
// Create the div to put the subscriber element in to
var container = document.getElementById('videoContainer');
var div = document.createElement('div');

var id = 'stream' + streams[i].streamId;
div.setAttribute('id', id);
container.appendChild(div);

// Subscribe to the stream
session.subscribe(streams[i], div.id);
}
}

在老师这边,他可以简单地订阅每个传入的流。

希望对你有帮助,

祝你好运!

关于javascript - OpenTok 视频聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21472970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com