如何在Windows Phone 8中使用mp3文件?

时间:2013-09-16 09:22:32

标签: c# audio windows-phone-8

在我的Windows手机游戏应用程序中,我必须使用大量声音。现在我已经看到Windows手机不支持mp3文件。所以我需要使用wav文件。任何mp3文件,只有500 kb大小的mp3格式,当转换为“.wav”时,它变成最小2.5MB。它实际上耗尽了我的应用程序大小,不必要地我的应用程序的大小越来越大。

任何人都知道如何使用mp3文件?在我的解决方案中,我有一个Asset文件夹,在此文件夹中找到所有“.wav”文件。

我是怎么做的让我写一个代码

SoundEffect effect;

Iinside构造函数 -

{  
   ...
   var soundFile = "Assets/Jump.wav";
   Stream stream = TitleContainer.OpenStream(soundFile);
   effect = SoundEffect.FromStream(stream);

在代码中

effect.Play();

有没有更好的方法。在某些线程中,我发现这样做并不是一种更好的编码方式,因为它会创建对象并耗尽系统空间。请建议做什么,如何添加mp3文件并编写更好的代码来处理声音文件。

2 个答案:

答案 0 :(得分:2)

您可以使用BackgroundAudioPlayer播放您的wav和mp3文件。 SoundEffect类无法播放mp3数据

通过它,这是一个完整的应用程序。

Background Audio WP

答案 1 :(得分:0)

要使用MP3文件,您必须将MP3解码为内存中的PCM,并在SoundEffect.FromStream方法中使用该结果流。

您可以尝试的另一件事是将wav文件编码为ADPCM。这通常以4:1的比例压缩波形文件。如果你不能直接使用流,解码ADPCM要比解码mp3文件简单得多。

您可以尝试节省空间的另一件事是将未压缩的波形文件转换为单声道,并将采样率降低。您可以在转换后对声音进行听力测试,以确保质量损失是否可接受。