Tag: avadudiosession

用AVAudioEngine从AVAudioPCMBuffer播放audio

我有两个类, MicrophoneHandler和AudioPlayer 。 我设法使用AVCaptureSession在这里使用批准的答案来挖掘麦克风数据,并使用此函数将CMSampleBuffer转换为NSData : func sendDataToDelegate(buffer: CMSampleBuffer!) { let block = CMSampleBufferGetDataBuffer(buffer) var length = 0 var data: UnsafeMutablePointer<Int8> = nil var status = CMBlockBufferGetDataPointer(block!, 0, nil, &length, &data) // TODO: check for errors let result = NSData(bytesNoCopy: data, length: length, freeWhenDone: false) self.delegate.handleBuffer(result) } 现在,我想通过将上面生成的NSData转换为AVAudioPCMBuffer并使用AVAudioEngine来播放audio。 我的AudioPlayer类如下所示: var engine: AVAudioEngine! var playerNode: AVAudioPlayerNode! var […]