OpenTok/Tokbox 显示另一个页面直到订阅打开
OpenTok/Tokbox Display another page until a suscribe is on
我正在尝试拨打 "waiting page" 直到一位订阅者接听电话,我试过这个:
<div id="cont">
<div class="row">
<p>Waiting</p>
</div>
</div>
在 session.suscribe() 方法上我有这个:
session.subscribe(event.stream, 'subscriber', subscriberOptions, function (error) {
if (error) {
console.log('There was an error publishing: ', error.name, error.message);
} else {
delWaiting();
}
});
function delWaiting() {
$("#cont").empty();
$('#cont').html('<div id="videos"> <div id= "subscriber"> </div > <div id="publisher"> </div> </div>');
}
在此示例中,我尝试删除等待内容并添加视频通话所需的 html,问题是这不起作用,因为所有其他 html opentok 创建的,是否有使用 opemtok 方法执行此操作的简单方法?
它不起作用的主要原因是您在创建 ID 为 subscriber
的元素之前调用了 session.subscribe()
。在 调用 session.subscribe()
.
之前,您需要确保 ID 为 subscriber
的元素存在
以下是您的代码段的扩展,但它不是将 id 字符串传递到 session.subscribe()
中,而是将 DOM 元素传递到 session.subscribe()
,然后在成功后将此元素附加到 DOM:
var subscriberContainer = document.createElement('div');
session.subscribe(event.stream, subscriberContainer, subscriberOptions, function (error) {
if (error) {
console.log('There was an error subscribing: ', error.name, error.message);
} else {
delWaiting(subscriberContainer);
}
});
function delWaiting(subscriberContainer) {
$("#cont").empty().html('<div id="videos"> <div id="subscriber"> </div > <div id="publisher"> </div> </div>');
$('#subscriber').append(subscriberContainer);
}
我正在尝试拨打 "waiting page" 直到一位订阅者接听电话,我试过这个:
<div id="cont">
<div class="row">
<p>Waiting</p>
</div>
</div>
在 session.suscribe() 方法上我有这个:
session.subscribe(event.stream, 'subscriber', subscriberOptions, function (error) {
if (error) {
console.log('There was an error publishing: ', error.name, error.message);
} else {
delWaiting();
}
});
function delWaiting() {
$("#cont").empty();
$('#cont').html('<div id="videos"> <div id= "subscriber"> </div > <div id="publisher"> </div> </div>');
}
在此示例中,我尝试删除等待内容并添加视频通话所需的 html,问题是这不起作用,因为所有其他 html opentok 创建的,是否有使用 opemtok 方法执行此操作的简单方法?
它不起作用的主要原因是您在创建 ID 为 subscriber
的元素之前调用了 session.subscribe()
。在 调用 session.subscribe()
.
subscriber
的元素存在
以下是您的代码段的扩展,但它不是将 id 字符串传递到 session.subscribe()
中,而是将 DOM 元素传递到 session.subscribe()
,然后在成功后将此元素附加到 DOM:
var subscriberContainer = document.createElement('div');
session.subscribe(event.stream, subscriberContainer, subscriberOptions, function (error) {
if (error) {
console.log('There was an error subscribing: ', error.name, error.message);
} else {
delWaiting(subscriberContainer);
}
});
function delWaiting(subscriberContainer) {
$("#cont").empty().html('<div id="videos"> <div id="subscriber"> </div > <div id="publisher"> </div> </div>');
$('#subscriber').append(subscriberContainer);
}