ios - Writing mono AVAudioPCMBuffer to stereo AVAudioFile -
i'm using avaudioengine record audio, , saving sound file.
the user can choose import audio file, , can continue record @ end of file if wish to. i'm getting audio data imported file reading avaudiopcmbuffer, write file i'm recording to. works great if imported file in stereo (since file i'm writing in stereo). if imported file in mono, code crashes when i'm trying write avaudiopcmbuffer file, because number of channels don't match.
is possible read mono avaudiopcmbuffer av avaudiofile processingformat set stereo? can convert buffer stereo?
here's example of how i'm getting audio buffer imported file:
let existingaudiofile = try avaudiofile(forreading: existingfileurl) var audioframecount = avaudioframecount(existingaudiofile.length) let audiobuffer = avaudiopcmbuffer(pcmformat: existingaudiofile.processingformat, framecapacity: audioframecount) //mono try existingaudiofile.readintobuffer(audiobuffer) and create avaudiofile i'm writing using avaudioengine:
self.audiofile = try avaudiofile(forwriting: self.audiorecordurl, settings: self.engine.mainmixernode.outputformatforbus(0).settings) //this in stereo and finally, how write audio buffer file:
try self.audiofile.writefrombuffer(audiobuffer) if convert audio stereo, works.
Comments
Post a Comment