Posts

Post not yet marked as solved
3 Replies
2.5k Views
Hi,How do I change the AVAudioSession settings to be not default to speaker?Even if I use my airPods, it plays everything through the speaker while recording.This is my code for setup recording in my project:func setupRecorder(){ var channelLayout = AudioChannelLayout() memset(&channelLayout, 0, MemoryLayout<AudioChannelLayout>.size); channelLayout.mChannelLayoutTag = kAudioChannelLayoutTag_Stereo; let settings:[String : Any] = [ AVFormatIDKey: Int(kAudioFormatMPEG4AAC), AVSampleRateKey: 44100, AVEncoderBitRateKey: 96000, AVNumberOfChannelsKey: 1, AVChannelLayoutKey: NSData(bytes:&channelLayout, length:MemoryLayout<AudioChannelLayout>.size) ] let session = AVAudioSession.sharedInstance() do { try session.setCategory(AVAudioSession.Category.playAndRecord, options: .defaultToSpeaker) try session.setActive(true) audioRecorder = try AVAudioRecorder(url: getFileUrl(), settings: settings) audioRecorder.delegate = self audioRecorder.isMeteringEnabled = true audioRecorder.prepareToRecord() } catch let error { displayAlert(msg_title: "Error", msg_desc: error.localizedDescription, action_title: "OK") } }
Posted
by Kurteran .
Last updated
.