小编Szy*_*zek的帖子

InstallTapOnBus - 用于输出信号

正如在主题中一样,我想分析输出信号的缓冲区。我已使用此函数( InstallTapOnBus )来获取麦克风信号,但不适用于输出。有人知道怎么做吗?

    let bus = 0 
    let node = engine.outputNode
    node.installTap(onBus: bus, bufferSize: AVAudioFrameCount(BUFFER_SIZE), format: node.outputFormat(forBus: bus), block: { (buffer : AVAudioPCMBuffer ,time : AVAudioTime) in

        ...

    })
    try! engine.start()
}
Run Code Online (Sandbox Code Playgroud)

它给我提供了一个错误:“所需条件为假:_isInput”

audio avfoundation ios swift avaudioengine

5
推荐指数
1
解决办法
1070
查看次数

目标选择器无法在Swift3上运行

我遇到了"拉动刷新"的问题.我使用的是UIViewController同一个UITableView里面,UIRefreshControl目标设定为低于在这里:

    public func refresh(sender: AnyObject) {
        updateData()
        refreshControl.endRefreshing()
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        [...]

        refreshControl.addTarget(self, action: Selector(("refresh:")), for: UIControlEvents.valueChanged)
    }
Run Code Online (Sandbox Code Playgroud)

当我拉 - 有一个例外:

 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Income.MainVC refresh:]: unrecognized selector sent to instance 0x7faf1040a9e0
Run Code Online (Sandbox Code Playgroud)

ios swift swift3

3
推荐指数
1
解决办法
4240
查看次数

收听AVAudioPCMBuffer

我已经实现了installTap方法,该方法为我提供了音频缓冲区浮点样本。我已经用我的C ++ DSP库过滤了它们。我想将此缓冲区“发送”到耳机/扬声器。我AVAudioPCMBuffer再次从样本中提取。有人知道该怎么做吗?

码:

node.installTap(onBus: bus, bufferSize: AVAudioFrameCount(BUFFER_SIZE), format: node.inputFormat(forBus: bus), block: { (buffer : AVAudioPCMBuffer ,time : AVAudioTime) in

    let root = buffer.floatChannelData!.pointee


    // First pointer defines chanels
    // Second pointer defines floats values

    for i in 0 ..< BUFFER_SIZE{
        self.signalData[i] = Double(root.advanced(by: i).pointee) * self.gainCorrection
    }
    let signalDataPreEq = self.signalData

    let filteredSignal = shared.EQ.filterBuffer(UnsafeMutablePointer<Double>(mutating: self.signalData), with_count: Int32(BUFFER_SIZE))

    self.signalData = Array(UnsafeBufferPointer(start : filteredSignal, count : BUFFER_SIZE))

    for i in 0 ..< BUFFER_SIZE{
        root.advanced(by: i).pointee = …
Run Code Online (Sandbox Code Playgroud)

signal-processing avfoundation ios swift avaudiopcmbuffer

2
推荐指数
1
解决办法
430
查看次数