ken*_*919 5 javascript cordova opentok
我的移动应用程序使用 OpenTok 时遇到问题(我使用 Phonegap 并在 Android 上测试该应用程序)。
我已经成功地创建了一个发布者流和一个订阅者流。
当我关闭会话并尝试重新打开它时,有几个问题:
正如你所看到的,我尝试了不同的方法来完全关闭流:disconnect ()、unpublish ()、publisher.destroy (),但它不能如我所愿。
这是我的 .js 脚本:
function connexionOpenTok() {
var sessionSub;
var sessionPub;
var publisher;
$('#visioStopBtn').click(function () {
console.log('Arret de la Visio...');
$('#Collaboratif_mobilecontainer').show();
$('#visioContainer').hide();
if(sessionPub) {
if (publisher) {
sessionPub.unpublish(publisher);
}
sessionPub.publisher.destroy();
sessionPub.disconnect();
sessionPub.forceDisconnect();
sessionPub.forceUnpublish();
}
if(sessionSub) {
sessionSub.disconnect();
sessionSub.forceDisconnect();
}
});
var subDiv = '<div id="visioSubscriber"></div>'
var subPub = '<div id="visioPublisher"></div>'
$('#visioContainer').append(subDiv).append(subPub);
var apiKey = "KEY";
var sessionId = "ID";
var subToken = 'TOKEN';
var pubToken = 'TOKEN';
// Initialize session, set up event listeners, and connect
var width = $(window).width();
var height = $(window).height();
//publisher
setTimeout(function (){
sessionPub = OT.initSession(apiKey, sessionId);
sessionPub.connect(pubToken, function(error) {
publisher = OT.initPublisher("visioPublisher", {width: width/5, height: height/5, zIndex: 3} );
sessionPub.publish(publisher);
});
}, 1000);
//subscriber
setTimeout(function (){
sessionSub = OT.initSession(apiKey, sessionId);
sessionSub.once("streamCreated", function(event) {
sessionSub.subscribe(event.stream,"visioSubscriber", {width: width, height: height*0.8, zIndex: 2} );
});
sessionSub.connect(subToken, function () {
});
}, 5000);
}
Run Code Online (Sandbox Code Playgroud)
这是我的 CSS :
#visioSubscriber {
position:absolute;
z-index:2;
bottom: 65px;
left: 0px;
}
#visioStopBtn {
position:absolute;
z-index:10;
width: 85%;
margin: 5px 3% 5px 3%;
bottom : 8px;
}
#visioPublisher {
display:block;
z-index: 3;
position: absolute;
bottom: 65px;
left: 3%;
}
#visioContainer {
background-color: black;
width : 100%;
height: 100%;
z-index: 1;
position: absolute;
bottom:0px;
}
Run Code Online (Sandbox Code Playgroud)
这是有关 Opentok 的 html 部分:
<div id="visioContainer">
<a data-role="button" class="button"
id="visioStopBtn" data-corners="true" data-icon="none" data-iconpos='nowhere' data-mini="false" data-theme="b">
ARRETER LA VISIO
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
在 JS 库(由 TokBox 官方维护)上,所有发布者和订阅者在调用session.disconnect(). Cordova(又名 PhoneGap)是一个社区维护的项目(不是由 TokBox 官方维护的),悬挂的发布者/订阅者似乎是 cordova 插件中的一个错误。
几天前有一个拉取请求,您可以尝试更新cordova插件,看看问题是否消失?https://github.com/songz/cordova-plugin-opentok/pull/79
如果没有,您应该在项目页面上提出问题:https://github.com/songz/cordova-plugin-opentok/issues
| 归档时间: |
|
| 查看次数: |
4091 次 |
| 最近记录: |