Как записывать аудио в wav-формате в Swift?

Я искал везде для этого, и я не мог найти правильный способ сделать это. Мне удалось записать в формате .wav, но проблема в том, что когда я пытаюсь читать исходные данные из записанного .wav-файла, некоторые фрагменты находятся в неправильном месте / вообще отсутствуют.

Мой код для записи аудио:

func startRecording(){ let audioSession = AVAudioSession.sharedInstance() try! audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord) try! audioSession.setActive(true) audioSession.requestRecordPermission({(allowed: Bool) -> Void in print("Accepted")} ) let settings: [String : AnyObject] = [ AVFormatIDKey:Int(kAudioFormatLinearPCM), AVSampleRateKey:44100.0, AVNumberOfChannelsKey:1, AVLinearPCMBitDepthKey:8, AVLinearPCMIsFloatKey:false, AVLinearPCMIsBigEndianKey:false, AVEncoderAudioQualityKey:AVAudioQuality.Max.rawValue ] let date = NSDate() let df = NSDateFormatter() df.dateFormat = "yyyy-MM-dd-HH:mm:ss" let dfString = df.stringFromDate(date) let fullPath = documentsPath.stringByAppendingString("/\(dfString).wav") recorder = try! AVAudioRecorder(URL: NSURL(string: fullPath)!, settings: settings) recorder.delegate = self recorder.prepareToRecord() recorder.record() } 

Когда я распечатываю данные аудиофайла диктофона, я получаю странное число, где 'd' 'a' 't' 'a' должно быть записано, следуя нулями. И затем, в середине данных, появляется.

No 64617461 ('d' 'a' 't' 'a) – это должно быть вместо 464c4c52

64617461 ('d' 'a' 't' 'a') в случайном месте после множества нулей no 64617461 ('d' 'a' 't' 'a') введите описание изображения здесь

Есть ли лучший способ записи wav-файла? Я не уверен, почему это происходит, поэтому любая помощь будет оценена по достоинству. Должен ли я записывать в другом формате, а затем преобразовывать его в raw?

Спасибо и извините за столько изображений.

One Solution collect form web for “Как записывать аудио в wav-формате в Swift?”

Я думаю, что только fmt кусок гарантированно будет первым. Похоже, что у них все еще есть куски, но просто пропустите фрагменты data .

Из http://soundfile.sapp.org/doc/WaveFormat/

Файл RIFF начинается с заголовка файла, за которым следует последовательность блоков данных.

Вам нужно обновить парсер 🙂

  • Неопределенные символы для архитектуры armv7 при интеграции речевого вызова нюанса
  • Распознавание речи на основе iOS-браузера iOS
  • Сравнение двух аудио (локально сохраненная предварительно записанная голосовая команда и записанная с микрофона в приложении) в iOS
  • iOS- Использование Nuance Speechkit, ошибка: Неоднозначное использование распознавания (withType: detect: language: delegate :)
  • Остановить распознавание речи, когда пользователь закончит разговор
  • Распознавание речи с использованием звука AVAudioEngine Blocks после записи
  • AVAudioEngine inputNode installTap crash при перезапуске записи
  • Система распознавания речи для iOS, поддерживающая испанский
  • Преобразование Microsoft Project Оксфорд Распознавание речи от Objective-C до SWIFT
  • iOS 10.0 Ошибка распознавания речи kAFAssistantErrorDomain
  • Кто-нибудь создал привязку MonoTouch для Nuance Dragon Mobile Speech SDK для iOS?
  • Interesting Posts

    Файл libCordova.a отсутствует в PhoneGap 2.9

    Установите панель навигации и строку состояния разными цветами.

    Выравнивание по левому краю ячеек в UICollectionView

    Как перевернуть между видами, такими как FlipBoard Animation в iOS?

    «Может добавлять, удалять или создавать объекты в Realm в транзакции записи»

    Ошибка приложения при изменении разрешения AddressBook в настройках

    XCUIElement tap () не работает

    CocoaPods: новая цель, добавленная в проект, не может найти заголовки CocoaPods

    Могу ли я запустить приложение на реальном устройстве (iPhone) с ноутбука (Mac) с помощью Appium – WebDriver?

    Настройка диалогового окна разрешения для iOS для push-уведомлений

    Вертикальное центрирование атрибута UITextFieldPlaceholder

    FFmpeg iOS -> выходной файл недействителен

    Ошибка CVOpenGLESTextureCacheCreateTextureFromImage

    Что такое эквивалент приложения «fb: //» приложения Dropbox iOS?

    Заголовок UITableview не отображается снова, если прокручивается

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.