マイクから録音して音声ファイルをつくります。iOS9から録音の詳細設定方法がわずかに変化しているので、これを踏まえないとエラーになります。やれやれ…
以下のコードをviewDidLoad
の中に入れます。
// 初期化ここから // 録音ファイルを指定する let filePath = NSHomeDirectory() + "/Documents/test.m4a" let url = NSURL(fileURLWithPath: filePath) // 再生と録音の機能をアクティブにする let session = AVAudioSession.sharedInstance() try! session.setCategory(AVAudioSessionCategoryPlayAndRecord) try! session.setActive(true) // 録音の詳細設定 let recordSetting : [String : AnyObject] = [ AVFormatIDKey : UInt(kAudioFormatAppleLossless), // iOS9から必要 AVEncoderAudioQualityKey : AVAudioQuality.Min.rawValue, AVEncoderBitRateKey : 16, AVNumberOfChannelsKey: 2, AVSampleRateKey: 44100.0 ] // 仕上げ do { self.audioRecorder = try AVAudioRecorder(URL: url, settings: recordSetting) } catch { fatalError("初期設定にエラー") } // 初期化ここまで
あとは、self.audioRecorder.record()
で録音し、stop()
で停止します。
せめて
AVFormatIDKey : UInt(kAudioFormatAppleLossless)
がないよ!
と警告を出して欲しいものです。