2017-02-02 96 views
0

我想用我的iPhone录制音频信号,然后我想逐个访问此信号的示例。我在网上发现了一些类似的例子,但我从来没有找到一个例子(在Swift中)实际读取和操作所有的原始样本。我如何使用Swift来做到这一点?使用AudioToolbox从音频信号获取原始样本流 - Swift

非常感谢!

+1

这是相当宽泛,很难理解。如果你对你想要做的更具体,并向我们展示一些代码,这将是非常棒的... –

回答

0

我解决我的问题,我终于能够创建花车在哪里存储和处理的音频采样,做以下的数组:

let file: AVAudioFile! 
    do { 
     file = try AVAudioFile(forReading: mySourceURL!) 
    } catch { 
     print("Error:", error) 
     return 
    } 
    let totSamples = file.length 
    let format = AVAudioFormat(commonFormat: .pcmFormatFloat32, sampleRate: file.fileFormat.sampleRate, channels: 1, interleaved: false) 
    let buffer = AVAudioPCMBuffer(pcmFormat: format, frameCapacity: AVAudioFrameCount(totSamples)) 
    try! file.read(into: buffer) 
    var floatArray = Array(UnsafeBufferPointer(start: buffer.floatChannelData?[0], count:Int(buffer.frameLength))) 

其中mySourceURL!是录制信号的URL。