【发布时间】:2019-05-29 05:23:34
【问题描述】:
我正在实施AudioVisualizer,我正在尝试计算音频时间,但我遇到了错误
二元运算符'*'不能应用于'Float'和'Double'类型的操作数
这是我的代码:
var lowPassReslts: Double = 0.0
var lowPassReslts1: Double = 0.0
let ALPHA: Float = 1.05
let averagePowerForChannel = pow(10, (0.05 * audioPlayer.averagePower(forChannel: 0)))
lowPassReslts = ALPHA * averagePowerForChannel + (1.0 - ALPHA) * lowPassReslts //HERE i am getting error which i mention above
let averagePowerForChannel1 = pow(10, (0.05 * audioPlayer.averagePower(forChannel: 1)))
lowPassReslts1 = ALPHA * averagePowerForChannel1 + (1.0 - ALPHA) * lowPassReslts1 //HERE i am getting error
上面的代码 O 是从 Objective-C 转换而来的。此代码在 Objective-C 中完美运行,但在 Swift 中无法运行。谁能告诉我如何解决这个错误?
【问题讨论】:
-
为什么它适用于 ObjC 而不是 Swift:Swift 在数值运算上更加冗长和严格,而 ObjC 则不是