Трябва да изпратя аудио данни в реално време в PCM формат 8 KHz 16 бита моно.
Аудиото трябва да бъде изпратено като масив от знаци с дължина (‹#char *data#>, ‹#int len#>).
Сега съм начинаещ в обработката на аудио и не мога да разбера как да постигна това. Най-добрият ми опит беше да конвертирам във формат iLBC и да опитам, но не можа да работи. Има ли някакъв пример как се записва и конвертира аудио във всеки формат. Вече прочетох Learning Core Audio от Крис Адамсън и Кевин Авила, но наистина не намерих решение, което да работи.
Просто това, което ми трябва:
(запис)->(конвертиране?)-> изпращане(char *data, int length);
Тъй като трябва да изпратя данни като масиви от знаци, не мога да използвам плейър.
РЕДАКТИРАНЕ: Успях да накарам всичко да работи със запис и с буфери за четене. Това, което не мога да управлявам е:
if (ref[i]->mAudioDataByteSize != 0){
char * data = (char*)ref[i]->mAudioData;
sendData(mHandle, data, ref[i]->mAudioDataByteSize);
}
AVAudioEngine
може да ви помогне с това. - person Rhythmic Fistman   schedule 11.05.2017