我正在尝试在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。
答案 0 :(得分: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);
答案 1 :(得分:1)
自己想出来。这个问题的解决方案是使用.wav文件而不是.mp3文件。