Я наткнулся на что-то интересное. Во время воспроизведения файла mp3 с IMFMediaEngine
Я заметил, что регуляторы громкости не соответствуют.
Это воспроизводит mp3 на 100% громкости:
float volume_level=1.0f;
m_mediaEngine->SetVolume(volume_level);
Это проигрывает mp3 при громкости 0% (я не слышу ничего при 0,4f, только при более высоких значениях):
float volume_level=0.4f;
m_mediaEngine->SetVolume(volume_level);
Как на самом деле работает громкость? Это не похоже на линейность. Я также использую XAudio2 с DirectX, и, похоже, там прекрасно работает масштабирование 0.0f-1.0f.
Почему вы ничего не слышите при 0,4f, это должно быть 40% громкости, а не 0%. Это почти как если бы диапазон громкости находился на уровне 0.4f-1.0f
Задача ещё не решена.
Других решений пока нет …