我正在使用简单的音频播放器。到目前为止,我使用的是BackgroundMediaPlayer
,但在将背景音频任务添加到应用程序清单时,它似乎无法正常工作。 MediaElement
有效,但需要添加到屏幕的XAML树中。我的应用程序有多个屏幕,这是我的问题。有没有办法使用MediaElement
而不将其绑定到任何屏幕,或以任何方式将其用于多个屏幕?
谢谢!
答案 0 :(得分:0)
由于MediaElement
旨在支持音频和视频,因此需要将其附加到用户界面以便实际显示视频和媒体控制元素。
如果你正在寻找的只是播放音频,而不需要用户交互(音量控制,播放,暂停,下一步等),你可以查看其他课程,如AudioGraph。您还可以找到示例here。
答案 1 :(得分:0)
我在Windows 8.1中遇到了这个没有背景音频的问题。我通过将MediaElement放置到应用程序框架来解决它。
我创建了一种框架样式
<Style x:Key="RootFrameStyle" TargetType="Frame">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Frame">
<Grid Background="#F3F2F2">
<MediaElement x:Name="MediaPlayer"
AudioCategory="BackgroundCapableMedia"
AutoPlay="True" />
<ContentPresenter />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
并在应用启动时将其分配到相框。我可以通过
获得它DependencyObject rootGrid = VisualTreeHelper.GetChild(Window.Current.Content, 0);
_player = (MediaElement)VisualTreeHelper.GetChild(rootGrid, 0);