如何解决我想从 iphone 麦克风录制并转换为 ulaw 格式流
我想从 iphone 麦克风录音并转换为 ulaw 格式的流数据,我猜那是 pcm 数据,但我有噪音。
installTap buff 是什么音频格式?我该怎么做才能获得 ulaw 数据格式? 我可以从 AVAudioRecorder 得到它,但我不会得到一个文件。 更改格式设置 'AVFormatIDKey=kAudioFormatULaw' 会崩溃。
func testMicrophoneRecording1 () throws {
let tapNode: AVAudioNode = mixerNode
let format = tapNode.outputFormat(forBus: 0)
tapNode.installTap(onBus: 0,bufferSize: 1024,format: format,block: {
(buffer,time) in
let d = buffer.toNSData() as Data
let ulaw_data = convert_pcm_(to_ulaw: d)
sendUlawDataToDevice(data: ulaw_data)
})
try engine.start()
}
和连接是:
func makeConnections() {
let inputNode = engine.inputNode
let inputFormat = inputNode.outputFormat(forBus: 0)
engine.connect(inputNode,to: mixerNode,format: inputFormat)
let mainMixerNode = engine.mainMixerNode
let mixerFormat = AVAudioFormat(commonFormat: .pcmFormatFloat32,sampleRate: 44100,channels: 1,interleaved: true)
engine.connect(mixerNode,to: mainMixerNode,format: mixerFormat)
}
解决方法
我从麦克风得到 pcm 并转换为 ulaw,形成这个例子: https://github.com/Epskampie/ios-coreaudio-example
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。