我是swift的新手,并开始致力于以形式塑造可视化音频 我正在使用EZAudio pod。有一个函数麦克风()被调用来获取输入,一个UI线程用于调用另一个使用麦克风提供的数据更新UI的函数! 我想要做的是当UI更新时,在基于UI更新的特定条件下,我必须调用第一个线程的振动。 所以我创建了一个调用振动的新线程,但AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)在后台线程中不起作用! 我知道代码是愚蠢的,但请看看!
func microphone(microphone: EZMicrophone!, hasAudioReceived buffer: UnsafeMutablePointer<UnsafeMutablePointer<Float>>, withBufferSize bufferSize: UInt32, withNumberOfChannels numberOfChannels: UInt32) {
//thread to update UI
dispatch_async(dispatch_get_main_queue()) {
self.plot?.updateBuffer(buffer[0], withBufferSize: bufferSize)
}
let maxValue = self.myMax(buffer[0], count: bufferSize)
if(maxValue>0.2){
// do something in the background
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
//thread to invoke Viberation
dispatch_async(dispatch_get_global_queue(priority, 0)) {
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
}
}
请提前帮助并感谢:)