Я экспериментирую с ALSA и в этом разделе 2 :
со следующим параметром конфигурации Единица размера буфера зависит от функции.Иногда он дается в байтах, иногда необходимо указать количество кадров.Один кадр является вектором выборочных данных для всех каналов.Для 16-битных стереофонических данных длина одного кадра составляет четыре байта.
/* Set buffer size (in frames). The resulting latency is given by */
/* latency = periodsize * periods / (rate * bytes_per_frame) */
if (snd_pcm_hw_params_set_buffer_size(pcm_handle, hwparams, (periodsize * periods)>>2) < 0) {
fprintf(stderr, "Error setting buffersize.\n");
return(-1);
}
Я не понимаю этого Для 16-битных стереофонических данных длина одного кадра составляет четыре байта.
Почему четыре?Следует ли по количеству каналов: 2?Я имею в виду ранее, они настроили его следующим образом:
/* Set number of channels */
if (snd_pcm_hw_params_set_channels(pcm_handle, hwparams, 2) < 0) {
fprintf(stderr, "Error setting channels.\n");
return(-1);
}
Как насчет того, если моя акустическая система содержит 4 выхода?Или 6?Значит ли это, что я должен настроить его на 16 бит * 4 и 16 бит * 6 соответственно?