首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XAudio2循环xWMA声音

使用XAudio2循环xWMA声音
EN

Stack Overflow用户
提问于 2013-07-12 05:01:19
回答 1查看 714关注 0票数 1

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

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

我已经在读http://msdn.microsoft.com/en-us/library/windows...er%28v=vs.85%29.aspx

但我相信我已经满足了PlayBegin、PlayLength、LoopBegin、LoopLength等值的所有标准。

关于我这里缺少的xwma数据,有什么特别的地方吗?

我使用这个函数来设置示例中的值,因为我的所有文件都有44100KhZ

代码语言:javascript
复制
static int MilliSecondsToSamples(double millis)
{
     return (int) (44100.0 * millis / 1000.0);
}

我使用的是windows 7、.NET4.0

EN

回答 1

Stack Overflow用户

发布于 2013-08-08 06:46:38

根据这个页面:http://msdn.microsoft.com/en-us/library/windows/desktop/microsoft.directx_sdk.xaudio2.xaudio2_buffer(v=vs.85).aspx

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17603433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档