Pracuję nad projektem VoIP na iOS. Zgodnie z sugestią dokumentów firmy Apple używam urządzenia dźwiękowego VoiceProcessingIO, aby uzyskać wsparcie na anulowanie echa.Użyj urządzenia audio IO do przetwarzania głosu w iOS
Ponieważ moja aplikacja wymaga oddzielnych operacji po stronie renderowania i przechwytywania (na przykład, wyłączenie głośnika, ale pozwól mikrofonowi kontynuować), tworzę dwie jednostki audio, jedną zamykam port przechwytywania, a drugą zamykam port renderowania.
Obecny kod działa dobrze, dopóki nie dowiem się, jak działa usuwanie echa: wymaga porównania sygnałów z mikrofonu i głośnika. Więc moim zmartwieniem jest: czy można bezpiecznie używać dwóch urządzeń do przetwarzania głosu, takich jak moje podejście? Ponadto, ponieważ anulowanie dźwięku działa głównie po stronie przechwytywania, czy możliwe jest użycie urządzenia audio RemoteIO do renderowania (połączenie z głośnikiem)?
Nie jestem w 100% pewny, ponieważ wkraczam na krótko do tego obszaru. Próbowałem także od developer.apple.com, ale wszystkie przykłady znalezione na developer.apple.com zazwyczaj używają tylko jednej jednostki audio.
Czy ktoś może dać wskazówki? Czy moje podejście ma potencjalny wpływ na funkcje urządzenia VoiceProcessingIO?
Dzięki Fuzhou