Не удалось установить категорию для AVAudioSession - PullRequest
0 голосов
/ 08 июля 2019

Попытка записи звука с помощью AVAudioSession.Но не удается установить категорию с неопределенностью без контекстной ошибки.

Я использую swift 4.

@objc func setupRecorder() {
    recordingSession = AVAudioSession.sharedInstance()

    do {
        try recordingSession?.setCategory(.playAndRecord, mode: .default)
        try recordingSession.setActive(true)
        recordingSession.requestRecordPermission() { [unowned self] allowed in
            DispatchQueue.main.async {
                if allowed {
                    self.startRecording()
                } else {
                    // failed to record!
                }
            }
        }
    } catch {
        // failed to record!
    }
}

enter image description here

1 Ответ

3 голосов
/ 08 июля 2019

Если вы используете «Swift4», то метод для установки категории отличается, т. Е.

AVAudioSession.sharedInstance().setCategory(String, mode: String, options: AVAudioSessionCategoryOptions)

объявление, вы можете использовать это следующим образом:

try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord, mode: AVAudioSessionModeDefault, options: AVAudioSessionPortBuiltInSpeaker)
...