仮想オーディオデバイスのゲインを上げたい。音量は一番上がっていますが、オーディオはほとんど聞こえません。これを行うには、IOAudioDeviceのゲインIOAudioLevelControl::createVolumeControl
を見てください。これはSoundflowerコードオーディオデバイスの出力ゲインを増やす
// Gain control for each channel
control = IOAudioLevelControl::createVolumeControl(SoundflowerDevice::kGainMax, // Initial value
0, // min value
SoundflowerDevice::kGainMax, // max value
0, // min 0.0 in IOFixed
(40 << 16) + (32768), // 72 in IOFixed (16.16)
channel, // kIOAudioControlChannelIDDefaultLeft,
channelNameMap[channel], // kIOAudioControlChannelNameLeft,
channel, // control ID - driver-defined
kIOAudioControlUsageInput);
addControl(control, (IOAudioControl::IntValueChangeHandler)gainChangeHandler);
である私はこれがどのように機能するか、それを変更するかどうかはわかりませんように、私はいくつかの黒魔術のビットがシフトしない第五引数を変更する必要がありますように私には思えるけど。ありがとう
まだ何も起こっていない..私は何が起こっているのか分かりません。私はイコライザアプリを持っています(その仮想ドライバはSoundflowerにも基づいています)、音量に問題はありません。 IORegistryを調べると、私は、IOAudioLevelControls'maxDBとminDBの値がそれぞれ、ゲイン制御のために0x488000((72 << 16)+(32768))と0を見つけることができました。 Volume maxDB:0およびminDB:0xffb88000の場合私はゲイン値をコピーして、ドライバで使用しましたが、それでも同じです... – BsD
btw私はSoundflowerBedをこのサウンドテストに使用しています – BsD