1

面白いものに出会いました。で 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);

ボリュームは実際にどのように機能しますか? 線形ではないようです。DirectX で XAudio2 も使用していますが、そこでは 0.0f-1.0f スケーリングが正常に機能しているようです。

0.4f で何も聞こえないのはなぜですか。これは、ボリュームの 0% ではなく 40% であるはずです。あたかも音量範囲が0.4f-1.0fにあるかのようです

4

0 に答える 0