如何使用 PhoneRTC 实现静音?

Posted

技术标签:

【中文标题】如何使用 PhoneRTC 实现静音?【英文标题】:How to implement mute with PhoneRTC? 【发布时间】:2014-12-10 23:59:08 【问题描述】:

我设法在我的 Cordova 应用程序中使用 PhoneRTC 创建了一个视频聊天。现在,我想添加一个在本地麦克风输出上切换静音的按钮。

我该怎么做?

【问题讨论】:

【参考方案1】:

使用Session.renegotiate。

例如:

session.streams.audio = false;
session.renegotiate();

【讨论】:

【参考方案2】:

您不想重新协商以实施静音。

您想要获取音频(可能还有视频)媒体流轨道,并执行 track.enabled = false。这使其静音(音频)或黑色(视频)。

重新协商至少需要几个 RTT 才能完成并且可能会失败(Firefox 还不支持它,需要创建一个新的 PeerConnection 来替换旧的)。

【讨论】:

PhoneRTC(和本机 Java/Objective C WebRTC API)不支持 MediaTrack.enabled 属性。 这很不幸,因为这是让它“现在”静音的唯一方法。重新协商不是一种可接受的静音方式;它可以用来(虽然我一般不推荐它)来减少静音期间的带宽使用,或者实现延迟,也许它会静音失败。

以上是关于如何使用 PhoneRTC 实现静音?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 zip 文件安装 cordova 插件

在 PhoneRTC 中,如何将现有的语音聊天变成视频聊天?

如何在 ionic 平台的 APIRTC 上静音和取消静音视频/音频?

phonertc 未定义 - 浏览器上的 Cordova phonertc

如何在html页面中静音背景音乐

如何使用 pywin32 静音/取消静音?