Событие, когда во время воспроизведения было воспроизведено N байт.
Я хочу воспроизвести аудиофайл и сравнить, если только что воспроизведенный буфер с размером N имеет ту же основную частоту, что и буфер с размером N, только что записанный в микрофон. Глядя на образец SpectrumVisualization, мне кажется, что я должен реализовать свой собственный ISampleProvider, чтобы иметь возможность вызывать событие, когда N байтов было воспроизведено из моего файла. Это верно? Могу ли я использовать любого из существующих провайдеров для этого?
Спасибо
1 ответ
Да, это общая техника. В демонстрационной версии он объединяет 1024 сэмпла, а затем передает их в FFT. Если ваш алгоритм может справиться с произвольными размерами пакетов, то может быть проще передать звук, полученный при каждом вызове, Read
в него, который будет соответствовать размеру буфера, используемого устройством воспроизведения.