Использование AVFoundation на watchos3 для извлечения необработанных данных (данных с плавающей запятой) микрофона (аудиовход)
В приложении iOS я делаю это с помощью следующего кода
inputNode = audioEngine.inputNode
let bus = 0
inputNode!.installTap(onBus: bus, bufferSize: 2048, format: inputNode!.inputFormat(forBus: bus)) {
(buffer: AVAudioPCMBuffer!, time: AVAudioTime!) -> Void in
let firstChannel = buffer.floatChannelData?[0]
let arr = Array(UnsafeBufferPointer(start: firstChannel, count:Int(buffer.frameLength)))
self.array.append(contentsOf: arr)
audioEngine.prepare()
do{
try audioEngine.start()
}catch {
print("audioEngine start failed")
}
и теперь я хочу сделать это в моем приложении Watchos3, но inputnode недоступен на watchos3..... что я могу сделать, чтобы получить реальные данные с микрофона (Float)?
1 ответ
Вы установили свой AVAudioSession
категория либо AVAudioSessionCategoryRecord
или же AVAudioSessionCategoryPlayAndRecord
и активировал сеанс?