跨平台Xamarin将录音保存在ogg中

时间:2019-06-26 11:34:51

标签: c# ios xamarin

我一直试图在我的应用程序中保存录音,问题是它必须与iOS和Android兼容。经过快速分析,我们发现电报和WhatsApp等所有大型平台在录音中都使用.ogg文件。

在iOS上,我试图保存文件,但是当我将其放在MIME类型检查器上时,它告诉我它是应用程序/八位字节流。我正在使用一种更本地的方法来保存文件。

我注意到的是iOS正在文件头中生成caff文件。而且不管我给文件的扩展名是什么,它始终是一个麻烦。

如果有人有任何想法如何保存MIME类型为ogg / audio的.ogg文件。

我尝试将编码器更改为不同的格式类型,但结果却大同小异。


             NSNumber.FromFloat (8000.0f),
             NSNumber.FromInt32 ((int)AudioToolbox.AudioFormatType.Opus),
             NSNumber.FromInt32 (1), 
             NSNumber.FromInt32 (32000)
   string fileName = string.Format("Myrecording{0}.ogg", DateTime.Now.ToString("yyyyMMddHHmmss"));
            currentFileName = fileName;
            string audioFilePath = Path.Combine(Path.GetTempPath(), fileName);
            url = NSUrl.FromFilename(audioFilePath);
            settings = NSDictionary.FromObjectsAndKeys(values, keys);
            recorder = AVAudioRecorder.Create(url, new AudioSettings(settings), out error);
            recorder.PrepareToRecord();
            recorder.Record();

应该是MIME类型为audio / ogg且文件头显示为oo的ogg文件的文件 OggSÅP〜ï› gtOpusHead8ĪOggSÅP〜ï<ˇˇˇ˛OpusTags

0 个答案:

没有答案
相关问题