0

我正在尝试在我的 Silverlight for Windows Phone 7 应用程序中播放音频。我有一个 MP3 音频文件,其构建操作设置为资源。要播放声音,我使用:

SoundEffectInstance sfi = null;
...
        Stream source = Application.GetResourceStream(new Uri("/Bird Calls;component/Crow.mp3", UriKind.Relative)).Stream;
        Microsoft.Xna.Framework.Audio.SoundEffect effect = SoundEffect.FromStream(source);
        sfi = effect.CreateInstance();
        sfi.Play();

此代码在 SoundEffect.FromStream 方法中引发 InvalidOperationException。

4

2 回答 2

6

SoundEffect 无法播放 mp3 文件。如果你想播放 mp3 文件,你应该像这样使用 MediaPlayer

private Song song;


string musicUrl = string.Format("/Bird Calls;component/Crow.mp3");
song = Song.FromUri("name", new Uri(musicUrl, UriKind.Relative));
FrameworkDispatcher.Update();
MediaPlayer.IsRepeating = true;
MediaPlayer.Play(song);
于 2012-11-27T04:26:30.667 回答
1

我自己想通了。此问题的解决方案是使用 .wav 文件而不是 .mp3 文件。

于 2012-11-26T23:05:59.877 回答