Голосовой чат в реальном времени между устройствами iOS в одной сети

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

Я сомневаюсь, как получить аудиоустройства с главного устройства и отправить по сети Wi-Fi или Bluetooth непосредственно на ведомое устройство в режиме реального времени.

Некоторые вещи о сетевой связи, которые я сделал, я могу передавать любые NSData между устройствами, используя TCP.

Очень важно не использовать структуру GK, потому что мне нужно подключить двух клиентов без какого-либо уведомления. Например, когда я использую GK для подключения двух устройств, iOS отображает предупреждение с запросом на подключение, мне нужно избегать этого запроса на подключение.

В настоящее время я могу сделать это с видео, это проще, чем аудио. Любые идеи о реализации этого приветствуются.

Спасибо.


person Jan Cássio    schedule 28.05.2012    source источник


Ответы (2)


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

Затем передайте аудиоданные через Wi-Fi и Bluetooth и воспроизведите их на другой стороне.

Самый очевидный выбор для вас — использовать bonjour.

Фреймворк GameKit построен поверх этого. Однако вам не нужно слишком много строить поверх этого для вашего приложения. Ваше прямое приложение bonjour.

При необходимости обратитесь к коду chatty . Если вам нужна дополнительная теория, обратитесь к http://mobileorchard.com/tutorial-networking-and-bonjour-on-iphone/.

person Shashikanth    schedule 28.09.2012
comment
мы можем сделать голосовой чат, используя bonjour? - person Saurabh Jain; 06.07.2017
comment
@SaurabhJain нашел какое-нибудь решение для голосового чата с bonjour? - person Niraj; 23.11.2019

Я использовал Audio Queue Services для такого же проекта.

Для работы в сети я использую Bonjour, и это действительно решило проблему передачи текста и видео.

Сделал много обходных путей, чтобы сделать голосовой чат в Wi-Fi с помощью Audio Queue Services, но безуспешно. Я обновлю, как только найду решение, отличное от этого.

person Geekoder    schedule 10.09.2013