SuperpoweredMixer Meter Values - PullRequest
       9

SuperpoweredMixer Meter Values

0 голосов
/ 24 июня 2019

У меня вопрос из двух частей. Ниже приведена неполная версия моего обратного вызова audioProcessing для предоставления контекста.

1) Для процесса SuperpoweredStereoMixer-> в документации указано, что параметры «inputMeters» и «outputMeters» «возвращают максимальные значения для измерения». и что функция SuperpoweredPeak «возвращает пиковое значение». Являются ли функция пика и значения микшера одинаковыми? Я так полагаю, я просто хочу подтвердить.

2) Когда я увеличиваю или уменьшаю входные объемы в self-> inputLevelsA, я вижу, как значения счетчиков, возвращаемые в self-> outputMeters, увеличиваются / уменьшаются, как и ожидалось. Однако я не вижу увеличения / уменьшения значений в self-> inputMetersA. Фактически, когда я уменьшаю громкость в inputLevelsA до 0.0f, я не вижу, чтобы значения входного измерителя вообще уменьшались. Процесс SuperpoweredStereoMixer-> возвращает значения входного измерителя до того, как уровни входного уровня применяются к сигналу или после?

Спасибо!

static bool audioProcessing(void *clientdata, float **inputBuffers, unsigned int inputChannels, float **outputBuffers, unsigned int outputChannels, unsigned int numberOfSamples, unsigned int samplerate, uint64_t hostTime) {
    __unsafe_unretained SuperpoweredFrequencies *self = (__bridge SuperpoweredFrequencies *)clientdata;
  hasAudio1 = self->player1->process(self->musicInterleavedBuffer1, false, numberOfSamples, 1.0f);
    hasAudio2 = self->player2->process(self->musicInterleavedBuffer2, false, numberOfSamples, 1.0f);

    SuperpoweredInterleave(inputBuffers[0], inputBuffers[1], self->microphoneInterleavedBuffer, numberOfSamples);
self->inputsA[0] = self->musicInterleavedBuffer1; 
    self->inputsA[1] = self->musicInterleavedBuffer2; 
    self->inputsA[2] = self->microphoneInterleavedBuffer;
    self->inputsA[3] = NULL;
    self->outputsA[0] = self->outputInterleavedBufferA;
    self->outputsA[1] = NULL;
    self->stereoMixerA->process(self->inputsA, self->outputsA, self->inputLevelsA, self->outputLevelsA, self->inputMetersA, self->outputMeters, numberOfSamples);


SuperpoweredDeInterleave(self->outputsA[0], outputBuffers[0], outputBuffers[1], numberOfSamples);
hasAudio = hasAudio1 || hasAudio2 || micHasAudio;
    return hasAudio;
}

1 Ответ

0 голосов
/ 07 июля 2019

1) Да, SuperpoweredPeak возвращается с тем же значением. 2) Да, inputMeters будет измерять громкость перед микшированием. Выходные измерители измеряют выходную громкость.

...