由于尺寸原因,我需要将 WP7 应用程序与压缩音频(mp3、wma 等)捆绑在一起。我如何自由/同时播放这些?
XNA 框架只支持 WAV 文件,所以除非有一个纯 C# 托管代码库可以在运行中解压 mp3/wma/ogg (?),否则下一个选项是……
媒体元素。但是我用 MediaElement 没有得到好的结果。好像需要专门在xaml中添加一个MediaElement作为标签,而且不能使用多个实例(几个标签)。一旦我播放了某个 MediaElement,我就无法在同一页面上播放另一个 MediaElement。我在引用文献中没有找到任何关于限制的信息(引用文献非常空)。
我还尝试动态创建 MediaElement 对象,但这似乎根本无效,或者我根本无法让它播放文件。
最佳答案
使用内置的 XNA 内容管道音效压缩! SoundEffect
的默认设置内容类型是“最佳”压缩质量(实际上似乎根本没有压缩)。将压缩质量设置为“低”,您将获得一个小得多的文件。或“中等”以在大小和质量之间取得良好的平衡。
要更改此设置,请选择您的 .wav
在解决方案资源管理器中,按 F4 打开属性窗口,展开“内容处理器”节点,并更改出现的压缩质量设置。
以下是带屏幕截图的说明:
创建一个新的 WP7 XNA 游戏项目(或以其他方式获取 XNA 内容项目)
添加 wav
文件到内容项目:
使用 wav
按 F4在解决方案资源管理器中选择的文件以显示属性窗口。
展开“内容处理器”节点并将压缩质量更改为所需的设置。
“最佳”设置不提供压缩(原始波形),“中”和“低”设置提供小得多的文件。
关于windows-phone-7 - WP7 同时/动态播放许多压缩(mp3、wma 等)音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7022360/