проблема с отправкой аудио InputStream в Amazon Lex с помощью iOS SDK с Swift
Я записываю звук с помощью AVAudioRecorder со следующими настройками и записываю его в файл
let settings = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 12000,
AVNumberOfChannelsKey: 1,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]
audioRecorder = try AVAudioRecorder(url: audioFileURL, settings: settings)
audioRecorder.delegate = self
audioRecorder.record()
Затем я создаю postContentRequest AWSLexPostContentRequest, устанавливаю свойства и отправляю его с помощью Lex.postContent.
postContentRequest?.accept = "audio/mpeg"
postContentRequest?.botAlias = "botAlias"
postContentRequest?.botName = "botName"
postContentRequest?.contentType = "audio/l16; rate=16000; channels=1"
postContentRequest?.inputStream = InputStream(url: getDocumentsDirectory().appendingPathComponent(audioFileName))
postContentRequest?.userId = "userID"
Я получаю правильный ответ, за исключением того, что inputTranscript является пустой строкой. Я посмотрел в корзину S3, где я регистрирую аудиовход, и оказалось, что аудиовход не отправляется должным образом. Это <1 секунды, тогда как я записал>5 секунд звука. Когда я воспроизводю звук через iPad, он воспроизводится нормально.
Какие-либо предложения?
Xcode версии 11.3.1 Swift 4.2