Я хочу записывать с микрофона 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)
}
1 ответ
Я получил pcm от микрофона и преобразовал его в ulaw, из этого примера: https://github.com/Epskampie/ios-coreaudio-example