java 获取麦克_AudioKit - 如何从麦克风获取实时floatChannelData?

使用您想要从中获取数据的节点 . 我在上面的引文中使用了AKNodeOutputPlot,因为它非常简单,只是将该数据用作绘图的输入,但是您可以获取数据并对其执行任何操作 . 在此代码中(来自AKNodeOutputPlot):

internal func setupNode(_ input: AKNode?) {

if !isConnected {

input?.avAudioNode.installTap(

onBus: 0,

bufferSize: bufferSize,

format: nil) { [weak self] (buffer, _) in

guard let strongSelf = self else {

AKLog("Unable to create strong reference to self")

return

}

buffer.frameLength = strongSelf.bufferSize

let offset = Int(buffer.frameCapacity - buffer.frameLength)

if let tail = buffer.floatChannelData?[0] {

strongSelf.updateBuffer(&tail[offset], withBufferSize: strongSelf.bufferSize)

}

}

}

isConnected = true

}

您可以实时获取缓冲区数据 . 在这里,我们只是将它发送到“updateBuffer”,在那里它被绘制,但不是绘图,你会做其他事情 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值