首先,我使用名为AudioKit的音频操纵器框架。
我正在尝试使用AKNodeOutputPlot()绘制AKMicrophone(),但它无效。它返回错误:
我认为AKMicrophone / AKFrequecyTracker一切正常,因为我获得了良好的效果。
我的剧情代码:
::
@IBOutlet var audioInputPlot: AKNodeOutputPlot!
func setupPlot() {
audioInputPlot.node = soundAnalyser.mic
audioInputPlot.plotType = .rolling
audioInputPlot.shouldFill = true
audioInputPlot.shouldMirror = true
audioInputPlot.color = UIColor.blue
}
::
class SoundAnalyser {
var delegate:SoundAnalyserDelegate?
let minimum = Double(50)
let maximum = Double(2000)
var mic: AKMicrophone
var tracker: AKFrequencyTracker
fileprivate var silence: AKBooster
fileprivate var timer: Timer?
fileprivate var notesArray: [(name:String, frequency:Double)]? //tuples array
::
AudioInputPlot与故事板上的UIView连接。它被定义为班级' UIView'。
如果我将UIView的类设置为AKNodeOutputPlot,终端显示: Microphone_Analyser_AK [82421:10401487] Interface Builder文件中的未知类AKNodeOutputPlot。 (lldb)
似乎故事板不能识别AudioKit框架......我应该以编程方式继续进行,还是知道导致问题的原因是什么?
此代码有什么问题?
答案 0 :(得分:0)
问题是我不止一次打电话给setupPlot()
。
解决了在setupPlot()
下只调用viewDidLoad()
一次的问题。