windows-phone-7 - WP7 同时/动态播放许多压缩(mp3、wma 等)音频文件

标签 windows-phone-7 audio xna silverlight-3.0

由于尺寸原因,我需要将 WP7 应用程序与压缩音频(mp3、wma 等)捆绑在一起。我如何自由/同时播放这些?

XNA 框架只支持 WAV 文件,所以除非有一个纯 C# 托管代码库可以在运行中解压 mp3/wma/ogg (?),否则下一个选项是……

媒体元素。但是我用 MediaElement 没有得到好的结果。好像需要专门在xaml中添加一个MediaElement作为标签,而且不能使用多个实例(几个标签)。一旦我播放了某个 MediaElement,我就无法在同一页面上播放另一个 MediaElement。我在引用文献中没有找到任何关于限制的信息(引用文献非常空)。
我还尝试动态创建 MediaElement 对象,但这似乎根本无效,或者我根本无法让它播放文件。

最佳答案

使用内置的 XNA 内容管道音效压缩!
SoundEffect 的默认设置内容类型是“最佳”压缩质量(实际上似乎根本没有压缩)。将压缩质量设置为“低”,您将获得一个小得多的文件。或“中等”以在大小和质量之间取得良好的平衡。

要更改此设置,请选择您的 .wav在解决方案资源管理器中,按 F4 打开属性窗口,展开“内容处理器”节点,并更改出现的压缩质量设置。

以下是带屏幕截图的说明:

创建一个新的 WP7 XNA 游戏项目(或以其他方式获取 XNA 内容项目)

Create Project

添加 wav文件到内容项目:

Add sound effect

Wav File Added

使用 wav 按 F4在解决方案资源管理器中选择的文件以显示属性窗口。

Content Properties

展开“内容处理器”节点并将压缩质量更改为所需的设置。

Set Compression

“最佳”设置不提供压缩(原始波形),“中”和“低”设置提供小得多的文件。

关于windows-phone-7 - WP7 同时/动态播放许多压缩(mp3、wma 等)音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7022360/

相关文章:

c# - 双重导航时 Windows Phone 应用程序崩溃

flash - Flash Pixel Bender:音频处理的数字运算

c# - 编译内容项目时出错

ios - NativeScript,将声音与在后台播放的其他应用混合

HTML5 <audio> 标签 - 自动播放,即使标签没有焦点

c# - 找不到引用 Microsoft.DirectX.AudioVideoPlayback 和 Microsoft.DirectX

c# - XNA 中的自定义内容管道,如何手动设置漫反射纹理?

windows-phone-7 - 如何确定 Windows Phone 7 的方向?

windows-phone-7 - 在 wp7 中找到 IMEI 号?

mvvm - 如何正确保存页面的 View 模型以处理墓碑