none
求大神帮我看看这段判断手机后台是否正在播放音乐的代码有啥问题? RRS feed

  • 问题

  •    我自己做的一个游戏,进入游戏前先判断是否手机后台有媒体播放,如果有就不播放游戏背景音乐,没有就开始播放游戏背景音乐。代码如下,我运行后如果手机后台有音乐则直接跳出程序,却没有继续游戏而不播放游戏背景音乐。求大神指导!  

    private void mediaElement1_MediaOpened(object sender, RoutedEventArgs e)
            {
                if (Microsoft.Xna.Framework.Media.MediaPlayer.Queue.Count == 0)
                {
                    mediaElement1.Play();
                }
                else { mediaElement1.Stop(); }
            }

    2012年6月27日 17:25

答案

  • 你好,

    SoundEffect位于Microsoft.Xna.Framework.Audio命名空间中。在使用时,我们需要在工程中添加对Microsoft.Xna.Framework的引用。

    也就是说,在Sliverlight项目中,也可以使用SoundEffect的。


    Keep Fighting


    2012年7月2日 1:29
  • 你好,我通过以下代码实现了播放音乐,谢谢的dearsj001

                var stream = TitleContainer.OpenStream("s_criticalstop_foghorn6.wav");
                var effect = SoundEffect.FromStream(stream);
                FrameworkDispatcher.Update();
                effect.Play();

    • 已标记为答案 Otomii Lu 2012年7月12日 6:25
    2012年7月2日 2:08

全部回复

  • 你好,你的代码是写在MediaOpened里的,我认为问题出在这里

    我建议在程序开始的时候就进行判断,既在MainPage的构造函数中

    如果Microsoft.Xna.Framework.Media.MediaPlayer.Queue.Count == 0

    那么设置mediaElement1的Source,并进行播放。

    2012年6月29日 2:13
  • 还是不可以呀 只要一播放Zune进入游戏就自动跳出
    2012年6月29日 8:10
  • 你好,

    由于使用MediaElement播放音效会导致背景音乐的暂停,带来较差的用户体验。因此,在应用程序发布于marketplace之前,微软会对它进行审查。如果我们的确使用了MediaElement来播放音效,那么应用程序就无法通过审查。

    所以建议不要使用MediaElement,使用XNA中的SoundEffect吧。


    Keep Fighting

    2012年6月30日 1:47
  • 那对于我的非XNA游戏,如何设置背景音乐

    2012年6月30日 7:54
  • 你好,

    SoundEffect位于Microsoft.Xna.Framework.Audio命名空间中。在使用时,我们需要在工程中添加对Microsoft.Xna.Framework的引用。

    也就是说,在Sliverlight项目中,也可以使用SoundEffect的。


    Keep Fighting


    2012年7月2日 1:29
  • 你好,我通过以下代码实现了播放音乐,谢谢的dearsj001

                var stream = TitleContainer.OpenStream("s_criticalstop_foghorn6.wav");
                var effect = SoundEffect.FromStream(stream);
                FrameworkDispatcher.Update();
                effect.Play();

    • 已标记为答案 Otomii Lu 2012年7月12日 6:25
    2012年7月2日 2:08