c# - 使用Windows.Media.Transcoding从WAV创建m4a

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

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

我看过Microsoft的Media Transcoding Sample,但是如果我尝试对其进行音频修改,那将完全相同。

有什么想法我要去哪里吗?

        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)
        {
        }

最佳答案

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

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

关于c# - 使用Windows.Media.Transcoding从WAV创建m4a,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31881059/

相关文章:

Python3 'ascii' 编解码器无法对位置 135-136 中的字符进行编码 : ordinal not in range(128)

java - Windows 中的西里尔文 Console(java) System.out.println();

Perl + 诅咒 : Expecting a UTF-8 encoded multibyte character from getchar(), 但没有得到任何

c# - 列表框可以显示为表格吗

c# - Action、Func 和 Predicate 委托(delegate) - C#

audio - 如何使用 ffmpeg 库在任何视频中附加新人声而不删除旧人声

r - 使音频驱动程序在R中可用?

python - 如何接收 “icecast”网络广播流以使用Python立即播放?

c# - 使用 ToList() 与 new List(IEnumerable<T>) 之间的性能差异

c# - 视频 : Get download link from API