在UWP中,使用Windows.Media.Core的AAC解码器进行音频解码。然而,在某些情况下,设置AAC解码器输入类型会失败,导致解码失败。这个问题可以通过以下代码示例进行解决:
using Windows.Media.Core;
using Windows.Media.MediaProperties;
...
// 创建AAC解码器
var aacDecoder = MediaEncodingProfile.CreateAudioFormat(AudioEncodingQuality.High)
.CreateDecoder();
// 创建AAC解码器输入类型
var aacInputType = MediaEncodingProfile.CreateAudioFormat(AudioEncodingQuality.High, aacDecoder.CodecPrivateData)
.CreateFromDecoderInputNodes(aacDecoder.InputNodes);
// 设置AAC解码器输入类型
if (!aacDecoder.SetInputType(aacInputType))
{
// 输入类型设置失败,打印错误信息
System.Diagnostics.Debug.WriteLine("Failed to set AAC decoder input type");
}
在这个代码示例中,我们首先创建AAC解码器,然后使用它创建AAC解码器输入类型。最后,我们使用AAC解码器的SetInputType方法将输入类型设置给解码器。如果输入类型设置失败,我们通过调用Debug.WriteLine打印错误信息。
通过这个方法,我们可以成功地设置AAC解码器的输入类型和解决输入类型设置失败的问题。