如何在 WebRTC iOS 应用中实现“谁在说话”的功能?

4
我正在使用WebRTC创建一款iOS应用程序,用于视频会议。我希望检测与对等连接通信的人说了什么。
更具体地说,我想检测我连接的远程对等方的音频活动,以便可以检测当前正在发言的人。
2个回答

3

这可以通过测量peer-connection统计报告中的“audioOutputLevel”值来实现。你需要学习的函数是:

- (void)peerConnection:(RTCPeerConnection*)peerConnection didGetStats:(NSArray*)stats

我在pod 'WebRTC'中找不到这个方法。你能详细解释一下吗?谢谢。 - Fawad Masud
具体方法可以在https://cocoapods.org/pods/libjingle_peerconnection中找到。但是如果您正在使用WebRTC pod,请尝试查找类似的委托。 - codeGeek

1

查看此指南,了解如何构建一个示例WebRTC iOS应用程序。

检查WebRTC统计报告部分

例如,audioSendInputLevel属性指示麦克风输入级别,即使音频轨道被禁用,因此您可以检查用户当前是否在说话/交谈。


我不需要 API。除了这一个功能,我已经实现了所有功能。 - codeGeek
嘿,codeGeek,这个问题有新的进展吗?我想知道你是如何解决这个问题的! - DeveloBär
1
@DeveloBär 这可以通过测量peerconnection统计数据中的音频级别来实现。您应该学习的函数是-(void)peerConnection:(RTCPeerConnection*)peerConnection didGetStats:(NSArray*)stats。 - codeGeek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接