C# 使用XAudio2循环xWMA声音

C# 使用XAudio2循环xWMA声音,c#,.net,directx,sharpdx,xaudio2,C#,.net,Directx,Sharpdx,Xaudio2,我使用SharpDX通过XAudio2播放声音,在特定范围内循环xWMA文件时遇到问题。 使用xWMA文件时,LoopBegin和LoopLength的值似乎被完全忽略;它总是循环整个声音文件 但是,在WAV文件上,这些值的工作方式与预期相同 我已经在读书了 但我相信我已经满足了所有标准,包括playbeagin、PlayLength、LoopBegin、LoopLength等值 关于我在这里丢失的xwma数据,有什么具体的信息吗 我使用此函数设置样本中的值,因为我的所有文件都有44100KhZ

我使用SharpDX通过XAudio2播放声音,在特定范围内循环xWMA文件时遇到问题。 使用xWMA文件时,LoopBegin和LoopLength的值似乎被完全忽略;它总是循环整个声音文件

但是,在WAV文件上,这些值的工作方式与预期相同

我已经在读书了

但我相信我已经满足了所有标准,包括playbeagin、PlayLength、LoopBegin、LoopLength等值

关于我在这里丢失的xwma数据,有什么具体的信息吗

我使用此函数设置样本中的值,因为我的所有文件都有44100KhZ

static int MilliSecondsToSamples(double millis)
{
     return (int) (44100.0 * millis / 1000.0);
}
根据本页,我使用的是windows 7、.NET4.0

对于ADPCM,播放循环长度必须是wSamplesPerBlock的倍数。由于WMA也是压缩的,我认为可能需要保持循环长度与正在播放的WMA文件的帧大小一致。

根据本页:

对于ADPCM,播放循环长度必须是wSamplesPerBlock的倍数。由于WMA也是压缩的,我认为可能需要保持循环长度与正在播放的WMA文件的帧大小一致