我制作了一个小型测试应用程序,用于测试cordova的phonertc插件。
但是我遇到了一个问题。当2个iPad从应用程序相互 call 时,只有被叫方可以看到 call 者,而 call 者却看不到被叫者,但是声音会通过两种方式传播,因此视频流出现了问题。
如果我在浏览器与浏览器之间测试该应用程序,则可以正常运行,并且当浏览器调用平板电脑时,它也可以运行。但是,当平板电脑调用浏览器时,情况并非如此,平板电脑之间的故事也是如此。
这是我处理phoneRTC插件的代码段。
messageHub.client.signal = function (message) {
session.receiveMessage(data);
}
messageHub.client.callIncomming = function (user) {
if(confirm(user + " is calling you?"))
{
StartSession(false, user);
window.setTimeout(function(){
messageHub.server.acceptCall(user);
},1500);
}
else {
messageHub.server.rejectCall(user);
}
}
messageHub.client.callAccepted = function (user) {
StartSession(true, user);
}
messageHub.client.callRejected = function (user) {
alert(user + " didn't want to talk to you.");
}
function StartSession(initiator, user){
session = new webRTC.Session(config);
session.on('sendMessage', function(data){
messageHub.server.signal(user, JSON.stringify(data));
});
webRTC.setVideoView({
container: document.getElementById('videoContainer'),
local: {
position: [512, 288],
size: [256, 144]
}
});
session.call();
}
最佳答案
我有一个类似的问题,当我在videoContainer
上的样式中设置了显式的高度和宽度时,它就可以工作:
<div id="videoContainer" style="width: 300px; height: 300px;"></div>