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);

请帮我!

4

2 回答 2

10

要让 Metro/WinRT 应用在后台播放音频,该应用需要满足以下条件:

  1. 一个MediaElement控件:
    1. 位于 XAML 页面中。
    2. AudioCategory属性设置为BackgroundCapableMedia(如阿曼多的回答)。根据需要,游戏或通信系统还有其他价值。有关不同选项含义的信息,请参阅Metro 应用程序中的音频播放。
  2. 使用MediaControl对象至少捕获以下内容。如果需要,可以处理其他事件和属性,但后台播放功能需要以下内容。
    1. 按下播放
    2. 停止按下
    3. 播放暂停切换按下
    4. 暂停按下
  3. 将音频添加到应用程序清单中的支持后台任务列表。清单通常称为Package.appxmanifest. 在解决方案资源管理器中选择它,转到声明选项卡并选中“音频”,如图所示:

在此处输入图像描述

有关捕获硬件按钮(例如,在键盘上播放/暂停)的更多信息,请参阅传输控制指南以及创建媒体播放器的快速入门指南以获取更多信息。

于 2012-09-21T12:28:27.770 回答
1

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

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

希望能帮助到你!

于 2012-07-26T14:56:41.393 回答