オーディオファイルをwavからmp3に変換する際に問題があります。 私のアプリは音声を録音し、audiostreamをuser_audio_raw.wavに保存します。次のメッセージと私はexport.ExportAsynchronously(呼び出すときXamarin。オーディオファイルをiOS用のmp3に変換
var asset = AVAsset.FromUrl(NSUrl.FromFilename(Path.Combine(Path.GetTempPath(), "user_audio_raw.wav")));
var export = new AVAssetExportSession(asset, AVAssetExportSession.PresetLowQuality);
var u = Path.Combine(Path.GetTempPath(), "user_audio_rec.mp3");
if(File.Exists(u)) {
File.Delete(u);
}
export.OutputUrl = NSUrl.FromFilename(Path.Combine(Path.GetTempPath(), "user_audio_rec.mp3"));
export.OutputFileType = AVFileType.MpegLayer3;
export.ShouldOptimizeForNetworkUse = true;
export.ExportAsynchronously(() =>
{
if (export.Error != null)
System.Diagnostics.Debug.WriteLine(export.Error.LocalizedDescription);
else {
Console.Write("Converted success!");
}
};
アプリケーションがクラッシュする):: その後、私はmp3形式にこのファイルを変換しよう
Foundation.MonoTouchException has been thrown
Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** -[AVAssetExportSession setOutputFileType:] Invalid output file type
Native stack trace:
0 CoreFoundation 0x0000000181fc9d1c <redacted> + 148
1 libobjc.A.dylib 0x0000000181218528 objc_exception_throw + 56
2 AVFoundation 0x000000018787fcc0 <redacted> + 0
3 BattleSpeak.Platform 0x00000001012276d0 BattleSpeak.Platform + 13596368
..........................................
しかし、私はMP4に変換したり、任意のしてみてください別のフォーマットアプリは完璧に動作し、問題なく変換します。 なぜそれが起こることができるのか誰かが知っていますか?
私はPresetLowQualityだけQTファイルでうまくいくと思います。オーディオ用に機能するプリセットを選択する必要があります。 – Jason