我使用以下代码从iPhone 11获取44100采样率的音频样本。iPhone 11默认采样率为48000。
let audioEngine = AVAudioEngine()
let inputNode = audioEngine.inputNode
let main = audioEngine.mainMixerNode
let inputFormat = inputNode.inputFormat(forBus: 0)
let outputFormat = AVAudioFormat(commonFormat: AVAudioCommonFormat.pcmFormatInt16, sampleRate: 44100, channels: 1, interleaved: true)
audioEngine.attach(downMixer)
audioEngine.connect(inputNode, to: downMixer, format: inputFormat)
audioEngine.connect(downMixer, to: main, format: outputFormat)
downMixer.installTap(onBus: 0, bufferSize: 2048, format: outputFormat) { (buffer, time) -> Void in
print(buffer)
}
我得到的音频数据为空。
发布于 2019-11-19 15:46:40
您可以使用音频转换器服务将48 K Hz的采样频率转换为44.1 K Hz的采样频率。因为iOS/iphone平台不支持所有采样频率。
https://developer.apple.com/documentation/audiotoolbox/audio_converter_services
https://stackoverflow.com/questions/58927822
复制相似问题