首先,我使用了名为AudioKit的音频操作器框架。
我试图用AKMicrophone()来绘制AKNodeOutputPlot(),但它不起作用。它正在返回错误:
我认为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_AK82421:10401487未知类AKNodeOutputPlot。(十一分贝)
似乎故事板没有认识到AudioKit框架..。我应该继续用编程的方式去做,还是你知道是什么导致了这个问题?
这个密码怎么了?
发布于 2017-03-24 17:36:02
问题是我不止一次给setupPlot()打电话。解决了在setupPlot()下只调用viewDidLoad()一次的问题。
https://stackoverflow.com/questions/42862885
复制相似问题