AVAudioRecorder record AAC / m4a

Estoy intentando grabar audio en el dispositivo usando AVAudioRecorder. Ese archivo se transmite a un servidor web y quiero reproducir ese archivo resultante en un navegador web.

He intentado varias combinaciones de configuraciones en el dispositivo ... nada parece codificar el archivo en el formato AAC correcto.

QuickTime dice que no sabe cómo reproducir este archivo.

Código de muestra

    private void InitializeRecordingSession() {
         string fileName = string.Format("{0}.m4a", Guid.NewGuid());
         string tmpdir = Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/audio";
          if (!Directory.Exists(tmpdir))
               Directory.CreateDirectory(tmpdir);
          audioFilePath = Path.Combine(tmpdir, fileName);

          Console.WriteLine("Audio File Path: " + audioFilePath);

          var url = NSUrl.FromFilename(audioFilePath);
          var settings = new AVAudioRecorderSettings() {
               AudioFormat = AudioFormatType.MPEG4AAC,
               SampleRate = 44100,
               NumberChannels = 1,
               AudioQuality = AVAudioQuality.High,    
          };

          recorder = AVAudioRecorder.ToUrl(url, settings, out error);

          //Set Recorder to Prepare To Record
          recorder.PrepareToRecord();  
     }

Editar-Poner este código antes de la línea.

recorder = AVAudioRecorder.ToUrl(url, settings, out error);

Todo funciono

NSError error;    
AVAudioSession audioSession = AVAudioSession.SharedInstance();
audioSession.SetCategory(AVAudioSession.CategoryRecord, out error);
audioSession.SetActive(true, out error);

Respuestas a la pregunta(3)

Su respuesta a la pregunta