Я работаю над разработкой медиаплеера на базе платформы Microsoft Media Foundation. Для бесперебойной работы программы жизненно важно, чтобы она могла делать две вещи: обнаруживать любую паузу в начале или конце файла и выполнять нормализацию аудиофайла. Обе эти вещи будут включать определение «громкости» или «громкости».
Основываясь на исследованиях, которые я провел до сих пор, это будет включать использование IMFSourceReader для извлечения всех объектов IMFMediaSample, а затем для каждого образца извлечение любых и всех объектов IMFMediaBuffer.
После блокировки буфера у меня будет байт данных, содержащихся в нем. Как мне интерпретировать эти данные таким образом, чтобы определить «громкость», а затем манипулировать данными для регулировки громкости?