【问题标题】:Using Windows.Media.Transcoding to create m4a from wav使用 Windows.Media.Transcoding 从 wav 创建 m4a
【发布时间】:2015-10-31 02:16:49
【问题描述】:

我正在尝试使用转码类将 wav 文件转换为 m4a 文件。但是每次我试图从我的转码器中获取PrepareTranscodeResult 时,我都会收到“对象引用未设置为对象的实例”异常。

我查看了来自 Microsoft 的媒体转码示例,但如果我尝试修改它以用于音频,它会以完全相同的方式失败。

任何想法我哪里出错了?

        StorageFolder storageFolder = ApplicationData.Current.LocalFolder;
        file1 = await storageFolder.GetFileAsync("Foo.wav");
        file2 = await storageFolder.CreateFileAsync("Bar.m4a", CreationCollisionOption.ReplaceExisting);
        MediaTranscoder transcoder = new MediaTranscoder();
        var p = MediaEncodingProfile.CreateM4a(AudioEncodingQuality.Auto);

        try
        {
            var preparedTranscodeResult = await transcoder.PrepareFileTranscodeAsync(file1, file2, p);
            var progress = new Progress<double>(TranscodeProgress);
            await preparedTranscodeResult.TranscodeAsync().AsTask(progress);
        }
        catch (Exception exc)
        {
        }

【问题讨论】:

    标签: c# audio encoding windows-store-apps m4a


    【解决方案1】:

    您不能在没有视频源的情况下使用 AudioEncodingQuality.Auto 属性。
    在这种情况下,你只需要像这样使用具体的属性。

    var p = MediaEncodingProfile.CreateM4a(AudioEncodingQuality.High);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-23
      • 2017-01-07
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      相关资源
      最近更新 更多