WebRTC iOS,如何静音视频通话

Posted

技术标签:

【中文标题】WebRTC iOS,如何静音视频通话【英文标题】:WebRTC iOS, how to mute video call 【发布时间】:2018-09-11 09:56:21 【问题描述】:

我正在 ios 上运行 WebRTC 的演示应用程序。

但是没有像旧版 WebRTC 那样静音/取消静音的示例。

我已经搜索并找到了这个

How to disable audio in webrtc mobile app(ios) without changing in framework

但最新源没有 localStream。 它添加了音频轨道和视频轨道。 如果我将音轨“isEnable”设置为 FALSE。那么两个用户都听不到任何声音。

示例用户 A 和用户 B 正在通话中。 我想要的是如果用户 A 静音,那么只有用户 B 听不到声音。

感谢所有帮助

【问题讨论】:

【参考方案1】:

最新来源是什么意思? ARDAppClient 应该有添加本地流的音视频组件。

这是有效的解决方案:

static NSString * const kARDAudioTrackId = @"ARDAMSa0";

//Initialization part
_factory = [[RTCPeerConnectionFactory alloc] init];
RTCAudioTrack *_localAudioTrack = [_factory audioTrackWithSource:source
                                            trackId:kARDAudioTrackId];

//For mute and unmute the local stream Audio
- (void)toggleAudioMute 
    self.audioMute = !self.audioMute;
    _localAudioTrack.isEnabled = !self.audioMute;

【讨论】:

它运作良好。这里的问题是将 _localAudioTrack 设置为静态变量。非常感谢您的帮助。 在 IOS 12 中这种方式会破坏 peerConnection

以上是关于WebRTC iOS,如何静音视频通话的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 带有 WebRTC 的 XMPP 用于实时视频通话或聊天

Flutter - webRTC 视频通话信号不起作用

Agora WebRTC 更改视频通话视图

如何使用 QuickBlox 录制视频通话

如何使用flutter webRTC在agoraIO上同时处理视频通话

使用webrtc for android,如何在视频通话中保存图片?