がとのプロパティに影響をloadFactoryPreset(preset: AVAudioUnitDistortionPreset)
与えるのはなぜですか? この実装は、プリセットの変更時にプロパティを変更しないと矛盾しているようです。preGain
wetDryMix
AVAudioUnitDistortion
loadFactoryPreset(preset: AVAudioUnitReverbPreset)
これは、この点を説明するために作成した遊び場と、各プリセットのプロパティがどのように変更されるかを示すグラフです。
import UIKit
import AVFoundation
let distortion = AVAudioUnitDistortion()
let reverb = AVAudioUnitReverb()
var i = 0
// Distortion
distortion.preGain = 6.0
distortion.wetDryMix = 6.0
while let preset = AVAudioUnitDistortionPreset(rawValue: i) {
distortion.loadFactoryPreset(AVAudioUnitDistortionPreset(rawValue: i)!)
distortion.wetDryMix
distortion.preGain
i++
}
// Reverb
reverb.wetDryMix = 100.0
i = 0
while let preset = AVAudioUnitReverbPreset(rawValue: i) {
reverb.loadFactoryPreset(AVAudioUnitReverbPreset(rawValue: i)!)
reverb.wetDryMix
i++
}
すべてのディストーション プリセットは 100%wetDryMix
でひどく聞こえるので、これがバグなのか、それともこの動作に正当な理由があるのか 疑問に思わずにはいられません。