簡體   English   中英

AVAudioEngine 麥克風浮動數據

[英]AVAudioEngine Microphone Float Data

我正在嘗試使用 AVAudioEngine 獲取實時麥克風輸入的浮動數據。 在fft之后進行fft和特殊算法。

當我編譯代碼時,我在控制台上變成了這個輸出:0x0000000000000000

我做錯了什么? 非常感謝您的幫助

這是我獲取浮點數據的代碼:

let audioEngine  = AVAudioEngine()


override func loadView() {
    super.loadView()

    let inputNode = audioEngine.inputNode
    let bus = 0
    inputNode!.installTapOnBus(bus, bufferSize: 2048, format: inputNode!.inputFormatForBus(bus)) {
        (buffer: AVAudioPCMBuffer!, time: AVAudioTime!) -> Void in
        print(buffer.floatChannelData[50])
    }

    audioEngine.prepare()
    do{
        try audioEngine.start()
    }catch{

        print("Error")

    }


}

floatChannelData是一個指向指針的指針,因此如果您想要第一個通道(除非您插入立體聲麥克風,否則您將在 iOS 上獲得所有通道),您可以這樣做:嘗試

let firstChannel = buffer.floatChannelData[0]
let arr = Array(UnsafeBufferPointer(start: firstChannel, count: Int(buffer.frameLength)))
// Do something with your array of Floats

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM