2017-03-17 147 views
0

首先,我使用名为AudioKit的音频操纵器框架。尝试绘制图形时应用程序崩溃

我想绘制AKMicrophone()使用AKNodeOutputPlot(),但它不工作。它返回错误:

http://imgur.com/yim5RUr

我认为这一切与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

因为这是初始化'AKNodeOutputPlot(mic,frame:frame)'我不认为你可以将它添加到故事板 – zombie

回答

0

问题是我多次打电话给setupPlot()。 根据viewDidLoad()解决了一次调用setupPlot()的问题。

相关问题