我可以使用SoundEffectInstance很好地播放wav文件,但找不到在手机上使用这些库播放压缩音频的任何方法。
我发现使用XNA进行此操作的方法是使用here概述的XACT创建工具,但据我所知,电话上没有AudioEngine,WaveBank和SoundBank类。通过各种资源,我发现我看到人们使用内容加载器直接加载到声音效果中:
SoundEffect soundEffect = Content.Load<SoundEffect>(@"Content\Audio\LaserShot");
soundEffect.Play();
但我似乎也无法使它正常工作。
在我看来,必须有一种方法来执行此操作,因为将所有声音效果都进行非压缩的WAV有点荒谬。
最佳答案
您需要将未压缩的文件添加到内容项目中。内容管道可以单独压缩它们,并让您将它们加载为SoundEffect
(与加载Texture2D
的方式相同)。默认设置为未压缩(“最佳”),但是您可以将其设置为使用有损压缩(“低”或“中”),以获得非常好的压缩率。
有一个newer answer of mine here,其中包含更多信息和详细说明。
关于c# - 在Windows Phone 7上,如何在音频效果中使用压缩音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4101479/