Roboti c искаженный голос с использованием AVAudioSession для собраний Voip на iOS 13 - PullRequest
2 голосов
/ 04 августа 2020

Я использую голосовой движок WebRT C (действительно старый репозиторий) в моем приложении для собраний (без звонков) с помощью AVAudioSession.

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

success = [session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:&error];

, голос становится искаженным и роботи c.

Ниже приведен код AVAudioSession:

success = [session setCategory:AVAudioSessionCategoryPlayAndRecord 
           withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker | 
           AVAudioSessionCategoryOptionAllowBluetooth error:&error];
    
[session setMode: AVAudioSessionModeVoiceChat error:&error];

Кто-нибудь сталкивался с этой проблемой? Любая помощь приветствуется.

Голосовой пакет отправляется водителю следующим образом:

webrtc::VoENetwork  *veNetwork; // Declaration

// Send this chunk of data to the GIPS driver. (C++ code)
    int error = veNetwork->ReceivedRTPPacket(chnl,packetData.getCurrent(),size);

1 Ответ

0 голосов
/ 29 августа 2020

Классный эффект! ? У меня есть теория, после того как я ее выслушал. Я думаю, вы проигрываете данные с несжатой стереодорожки, интерпретируемой как моно. То есть сэмплы, перемежаемые как с левой, так и с правой дорожки (LRLRLRLR ...), воспроизводятся через один динамик, как если бы эти сэмплы были записаны в моно. Это привело бы к двум побочным эффектам: было бы очень шумно (но все же узнаваемо) и было бы на одну октаву ниже, то есть на 50% частоты. И я думаю, это то, что у вас есть.

Другая ошибка, которая может вызвать аналогичный эффект, - это если у вас есть 16-битные сэмплы звука и вы воспроизводите их, как если бы они были 8-битными. В итоге все остальные сэмплы будут в основном шумовыми, и вы опуститесь на октаву ниже. Я не думаю, что это то, что у вас здесь - это было бы намного шумнее, но посмотрите, как вы настраиваете заголовки аудиофайлов и параметры воспроизведения.

...