使用音量低于 0.00001 的 AKMixer 没有输出
Using AKMixer with volume lower 0.00001 there is no output
我们使用两个 AKMixer(一个用于左声道,一个用于右声道)和一个 AKMixer 作为输出,这两个混音器作为输入。
如果其中一个混音器的音量低于 0.00001,则输出信号将丢失。但是可以降低音量,因为如果我们将主系统音量降低到超过 0.00001 的值,耳机插孔上的信号就会变低。
作为解决方法,我尝试将 AKMixer.output.volume 设置为 0.5,将输入混音器设置为 0.00001,它也能正常工作。但是在我的应用程序中,我还需要最大输出,而且当同时更改两个音量级别时我变得很奇怪 "clicks"。
如果有人能提供帮助就太好了。解决方法或引起的问题。
谢谢。
var rightSine = AKOscillator(waveform: AKTable(.sine))
var rightPanner : AKMixer!
let pan2 = AKPanner(self.rightSine, pan: 1)
pan2.rampDuration = 0
let right1: AKMixer = AKMixer(pan2 /*, .... some more */)
self.rightPanner = right1
let mix = AKMixer(self.rightPanner /* left channel... */)
mix.volume = 1.0
AudioKit.output = mix
do {
try AudioKit.start()
} catch {
}
self.rightPanner.volume = 0.00002
这是用于初始化音频内容(缩短)和之后启动节点的代码。
*编辑:我正在测试输出被破坏的精确阈值。
AudioKit 的 AKMixer 是 Apple 的 AVAudioMixerNode 的简单包装器,因此,我无法深入挖掘以帮助您解决使用该节点的问题。但是,如果您愿意切换到 AKBooster,它的工作是放大或减弱信号,我认为您可以使用较小的数字作为增益值。
var rightSine = AKOscillator(waveform: AKTable(.sine))
var rightBooster: AKBooster!
let pan2 = AKPanner(self.rightSine, pan: 1)
pan2.rampDuration = 0
let right1: AKMixer = AKMixer(pan2 /*, .... some more */)
self. rightBooster = AKBooster(right1)
let mix = AKMixer(self. rightBooster /* left channel... */)
mix.volume = 1.0
AudioKit.output = mix
self.rightBooster.gain = 0.00002
我们使用两个 AKMixer(一个用于左声道,一个用于右声道)和一个 AKMixer 作为输出,这两个混音器作为输入。 如果其中一个混音器的音量低于 0.00001,则输出信号将丢失。但是可以降低音量,因为如果我们将主系统音量降低到超过 0.00001 的值,耳机插孔上的信号就会变低。
作为解决方法,我尝试将 AKMixer.output.volume 设置为 0.5,将输入混音器设置为 0.00001,它也能正常工作。但是在我的应用程序中,我还需要最大输出,而且当同时更改两个音量级别时我变得很奇怪 "clicks"。
如果有人能提供帮助就太好了。解决方法或引起的问题。 谢谢。
var rightSine = AKOscillator(waveform: AKTable(.sine))
var rightPanner : AKMixer!
let pan2 = AKPanner(self.rightSine, pan: 1)
pan2.rampDuration = 0
let right1: AKMixer = AKMixer(pan2 /*, .... some more */)
self.rightPanner = right1
let mix = AKMixer(self.rightPanner /* left channel... */)
mix.volume = 1.0
AudioKit.output = mix
do {
try AudioKit.start()
} catch {
}
self.rightPanner.volume = 0.00002
这是用于初始化音频内容(缩短)和之后启动节点的代码。
*编辑:我正在测试输出被破坏的精确阈值。
AudioKit 的 AKMixer 是 Apple 的 AVAudioMixerNode 的简单包装器,因此,我无法深入挖掘以帮助您解决使用该节点的问题。但是,如果您愿意切换到 AKBooster,它的工作是放大或减弱信号,我认为您可以使用较小的数字作为增益值。
var rightSine = AKOscillator(waveform: AKTable(.sine))
var rightBooster: AKBooster!
let pan2 = AKPanner(self.rightSine, pan: 1)
pan2.rampDuration = 0
let right1: AKMixer = AKMixer(pan2 /*, .... some more */)
self. rightBooster = AKBooster(right1)
let mix = AKMixer(self. rightBooster /* left channel... */)
mix.volume = 1.0
AudioKit.output = mix
self.rightBooster.gain = 0.00002