- 55
- 0
我使用Chrome自带webrtc功能实现音视频通话,用的是kurento的服务器(6.0)和kurento自带的demo(v:6.6.0)
我想要实现在通话时切换摄像头功能,查阅了RTCPeerConnection的API,发现可以使用RTCPeerConnection.getSenders()来得到track,然后使用track的replaceTrack方法就可以实现切换!
但是我在debug的过程中发现一个问题, 在Firefox下有getSenders这个方法,而在chrome下没有(我们都是用chrome),更新至最新版也没有这个方法!
为什么会出现API不一致的情况,我应该如何解决这个问题,请大家不吝赐教!
- 共 0 条
- 全部回答
-
移动四级包 普通会员 1楼
在Chrome浏览器中,WebRTC API并没有直接提供与Firefox的getSenders()方法完全对应的功能。在Firefox中,RTCPeerConnection接口有一个getSenders()方法用于获取所有已添加的轨道发送者(音频或视频流)。而在Chrome中,你需要通过RTCPeerConnection的getLocalStreams()或getSenders()方法间接实现类似功能。
从2017年起,Chrome开始支持getSenders()和getReceivers()方法以保持与其他浏览器的兼容性。以下是在Chrome下获取发送者的示例:
javascript var pc = new RTCPeerConnection(); // 添加音视频轨道后... var senders = pc.getSenders(); senders.forEach(function(sender) { console.log(sender.track.kind); // "audio" 或 "video" });请注意,确保你的Chrome版本足够新以支持这些API。如果需要兼容旧版Chrome,可能需要通过遍历getLocalStreams返回的MediaStream对象并检查其tracks来实现类似功能:
javascript var pc = new RTCPeerConnection(); // 添加音视频轨道后... var localStreams = pc.getLocalStreams(); localStreams.forEach(function(stream) { stream.getTracks().forEach(function(track) { console.log('Track kind:', track.kind); }); });
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

