Nodejs环境下有人知道sony ericsson出的bowser浏览器如何调用webrtc吗?

Nodejs环境下有人知道sony ericsson出的bowser浏览器如何调用webrtc吗?

我参考一些sample写了一个在线视频聊天室,现在已经实现了pc与pc之间的视频聊天,但是我想加入pc 跟 移动终端,比如ipad,然后找了相关资料,发现只有sony ericsson出的bowser浏览器支持webrtc,但是我的代码在他的浏览器里面跑起来提示browser not support 就是我没有拿到peerconnection对象,我的代码如下,后面2个是sony官方sample里面的,但是好像也拿不到.
var PeerConnection = window.PeerConnection || window.webkitPeerConnection00 || window.webkitRTCPeerConnection || window.webkitDeprecatedPeerConnection || window.webkitPeerConnection;

有人知道这个问题怎么解决吗?


7 回复

在Node.js环境中,讨论如何在Sony Ericsson的Bowser浏览器中调用WebRTC技术时,需要明确的是,Bowser浏览器并不是广泛使用的浏览器,且其WebRTC支持可能与主流浏览器有所不同。然而,根据您的描述,您已经尝试了一些方法来获取PeerConnection对象,但遇到了问题。

首先,我们需要确认是否确实是在Bowser浏览器中运行您的代码。由于Bowser浏览器的支持情况可能有限,以下是一些可能有助于解决问题的建议和代码示例:

确认浏览器支持

首先,确保您的代码能够正确检测浏览器是否支持WebRTC。您可以使用以下代码片段来检查当前环境是否支持WebRTC:

function isWebRTCSupported() {
    return !!window.RTCPeerConnection || !!window.mozRTCPeerConnection || !!window.webkitRTCPeerConnection;
}

if (isWebRTCSupported()) {
    console.log("WebRTC is supported");
} else {
    console.error("WebRTC is not supported in this browser");
}

这段代码会检查几种常见的WebRTC前缀,以确定浏览器是否支持WebRTC。

创建PeerConnection实例

如果确认浏览器支持WebRTC,接下来尝试创建一个PeerConnection实例。考虑到不同浏览器可能有不同的前缀,您可以使用以下代码:

let PeerConnection;
if (window.RTCPeerConnection) {
    PeerConnection = window.RTCPeerConnection;
} else if (window.webkitRTCPeerConnection) {
    PeerConnection = window.webkitRTCPeerConnection;
} else if (window.mozRTCPeerConnection) {
    PeerConnection = window.mozRTCPeerConnection;
} else {
    console.error("WebRTC is not supported in this browser");
}

if (PeerConnection) {
    let pc = new PeerConnection();
    console.log("PeerConnection created successfully");
} else {
    console.error("Failed to create PeerConnection");
}

这段代码首先定义了一个变量PeerConnection,然后尝试初始化它为各种可能的WebRTC前缀之一。如果成功创建了PeerConnection实例,则会在控制台打印一条消息。

注意事项

  • 兼容性:尽管上述代码考虑了多种前缀,但请注意,某些浏览器(尤其是非主流浏览器如Bowser)可能仍然存在不兼容的情况。
  • 文档和测试:鉴于Bowser浏览器的特殊性,查阅其官方文档或进行更多针对性的测试可能是必要的。
  • 替代方案:如果Bowser浏览器的WebRTC支持确实存在问题,考虑寻找其他更广泛支持的移动浏览器作为替代也是一个选择。

希望这些建议能帮助您解决在Bowser浏览器中调用WebRTC的问题。


pc与pc之间如何发送视频数据的?有压缩吗?要不要经过服务器

peer-to-peer 服务器只是用于建立连接 vp8提供了视频压缩 用html5 vedio标签接受视频数据的,要设置为autoplay

这个问题我也在搞,貌似协议不是一样的

内嵌flash把。

在Node.js环境中,直接运行WebRTC相关的代码是不可能的,因为WebRTC API只能在浏览器中使用。然而,在你的问题中,你提到希望在Sony Ericsson的Bowser浏览器上实现PC到移动设备(如iPad)的视频聊天功能。尽管Bowser浏览器支持WebRTC,但在Node.js环境中无法直接运行WebRTC代码。

如果你想要在浏览器环境中运行WebRTC相关的代码,你需要确保正确引用WebRTC相关的API。根据你提供的代码片段,你已经尝试通过多种方式来获取PeerConnection对象,但似乎还是遇到了兼容性问题。你可以参考以下示例来检查是否能够正确获取PeerConnection对象:

let PeerConnection;
if (window.PeerConnection) {
    PeerConnection = window.PeerConnection;
} else if (window.webkitPeerConnection00) {
    PeerConnection = window.webkitPeerConnection00;
} else if (window.webkitRTCPeerConnection) {
    PeerConnection = window.webkitRTCPeerConnection;
} else if (window.webkitDeprecatedPeerConnection) {
    PeerConnection = window.webkitDeprecatedPeerConnection;
} else if (window.webkitPeerConnection) {
    PeerConnection = window.webkitPeerConnection;
} else {
    console.log("Your browser does not support WebRTC.");
}

if (PeerConnection) {
    console.log("PeerConnection object successfully obtained!");
}

如果你已经确认浏览器环境支持WebRTC,那么请检查你的网络连接、ICE候选者交换等其他部分是否有问题。你可以在GitHub上的项目中查看更多关于如何设置WebRTC的详细信息:在线视频聊天室

另外,请注意Bowser浏览器是一个较老的基于WebKit的移动浏览器,它可能不支持最新的WebRTC标准或特性。建议使用更现代的浏览器进行开发和测试。如果需要实现跨平台视频聊天应用,可以考虑使用框架或库,如React Native或Electron,以实现更好的跨平台兼容性和用户体验。

回到顶部