如何在Windows 8中在线播放背景音乐

时间:2012-07-05 09:46:32

标签: c# windows-8

在我的应用程序中,我使用UI MediaElement。但是当我点击Windows键时,音乐会停止。

我尝试使用:

MediaControl.PlayPressed += MediaControl_PlayPressed;
        MediaControl.PausePressed += MediaControl_PausePressed;
        MediaControl.PlayPauseTogglePressed += MediaControl_PlayPauseTogglePressed;
        MediaControl.StopPressed += MediaControl_StopPressed;

我设置了源MediaElement:

media.Source = new Uri("http://stream-hq.mp3.zdn.vn/fsgggsfdlwjglwjAAAAA/2a3f830202ea6d29bc7c5a5146401566/4ff5620a/2011/12/27/a/4/a4fcc199a184a93cfeb0fe35642c53bf.mp3", UriKind.RelativeOrAbsolute);

请帮助我!

2 个答案:

答案 0 :(得分:10)

对于Metro / WinRT应用程序在后台播放音频,该应用程序需要以下内容:

  1. MediaElement控制:
    1. 在XAML页面中。
    2. AudioCategory属性设置为BackgroundCapableMedia(如Armando的答案)。根据需要,游戏或通信系统还有其他值。有关不同选项的含义的信息,请参阅Audio Playback in a Metro Application
  2. 使用MediaControl对象捕获至少以下内容。如果需要,可以处理其他事件和属性,但后台播放功能需要以下内容。
    1. PlayPressed
    2. StopPressed
    3. PlayPauseTogglePressed
    4. PausePressed
  3. 将音频添加到应用程序清单中的支持后台任务列表中。清单通常称为Package.appxmanifest。在解决方案资源管理器中选择它,转到声明选项卡,然后选中"音频"如图所示:
  4. enter image description here

    有关捕获硬件按钮(例如,键盘上的播放/暂停)的详细信息,请参阅Transport Controls Guide,有关详细信息,请参阅quickstart guide for creating a media player

答案 1 :(得分:1)

这是我的第一个答案。确保在XAML中设置AudioCategory="BackgroundCapableMedia",如下所示:

<MediaElement x:Name="backgroundMusic" 
              AutoPlay="True" 
              AudioCategory="BackgroundCapableMedia" 
              Source="mms://betafm.santafe-conicet.gov.ar:1175">
</MediaElement>

希望它有所帮助!