Чтение аудио буферизует данные с AudioQueue

append добавляет единственный элемент. extend добавляет список элементов.

Примечание, что при передаче списка для добавления, оно все еще добавляет один элемент:

>>> a = [1, 2, 3]
>>> a.append([4, 5, 6])
>>> a
[1, 2, 3, [4, 5, 6]]
6
задан Eric Christensen 8 August 2009 в 05:39
поделиться

1 ответ

 char * buffer = NULL;

В этом причина. Вы выполняете итерацию по знаковым байтам, а не по 16-битным выборкам.

Вместо этого объявите переменную как содержащую указатель на двухбайтовые значения:

SInt16 *buffer = NULL;

Затем выполните итерацию по половине выборок, равных байтам:

for(int i=0;i < (BUFFER_SIZE / sizeof(*buffer));i++){
  NSLog(@"%i", buffer[i]);
}

Я бы переименуйте BUFFER_SIZE в BUFFER_SIZE_BYTES , чтобы прояснить его.

8
ответ дан 16 December 2019 в 21:44
поделиться