Как реализовать Кто говорит? функция в приложении webrtc ios?

Я создаю приложение ios, используя webRTC для видеоконференций. Я хочу определить, кто разговаривает в одноранговом соединении.

Чтобы быть более конкретным, я хочу обнаружить звуковую активность удаленного узла, к которому я подключен, чтобы я мог обнаружить человека, который в данный момент говорит.


person codeGeek    schedule 29.08.2016    source источник


Ответы (2)


Это может быть реализовано путем измерения уровня звука в статистике однорангового соединения. Функция, которую вы должны изучить, это

- (void)peerConnection:(RTCPeerConnection*)peerConnection didGetStats:(NSArray*)stats
person codeGeek    schedule 23.04.2017
comment
Я не могу найти этот метод в модуле «WebRTC». Не могли бы вы уточнить немного больше? Благодарю. - person Fawad Masud; 30.08.2017
comment
Точный метод можно найти на cocoapods.org/pods/libjingle_peerconnection. Но если вы используете модуль WebRTC, попробуйте найти аналогичный делегат - person codeGeek; 30.08.2017

Ознакомьтесь с этим руководством по созданию примера приложения WebRTC для iOS.

Ознакомьтесь с разделом Отчеты статистики WebRTC.

Например, свойство audioSendInputLevel указывает уровень входного сигнала микрофона даже при отключенной звуковой дорожке, поэтому вы можете проверить, говорит ли пользователь в данный момент.

person Daniel    schedule 29.08.2016
comment
Я не хочу апи. Я реализовал все функции, кроме этой. - person codeGeek; 30.08.2016
comment
Привет, codeGeek, есть какие-то обновления по этой проблеме? Хотелось бы узнать как вы решили свою проблему! - person DeveloBär; 30.10.2016
comment
@DeveloBär Это можно реализовать путем измерения уровня звука в статистике однорангового соединения. Функция, которую вы должны изучить, - (void)peerConnection:(RTCPeerConnection*)peerConnection didGetStats:(NSArray*)stats - person codeGeek; 04.04.2017