【发布时间】:2021-08-27 06:08:50
【问题描述】:
我正在使用 webRTC 实现一个 ios 应用程序来建立会议。我想用 swift 检测谁在 webRTC 流中说话。
【问题讨论】:
-
使用 webRtc 流检测谁在说话的任何想法
我正在使用 webRTC 实现一个 ios 应用程序来建立会议。我想用 swift 检测谁在 webRTC 流中说话。
【问题讨论】:
您必须在一段时间后轮询统计信息,可能是 5 毫秒或 1 秒,这取决于您。
此答案适用于一对一聊天。但是,我不知道如何在多用户聊天中修复它。
peerConnection.statistics { [weak self] report in
let statistics = report.statistics
for case let stat in statistics.values {
switch stat.type {
case "media-source":
// From this I will get my own audio level
let level = (stat.values["audioLevel"] as? Double) ?? .zero
case "track":
// From this I will get other party's audio level
let level = (stat.values["audioLevel"] as? Double) ?? .zero
default:
continue
}
}
}
【讨论】: