C#UWP One MediaElement多个屏幕

时间:2016-07-12 17:19:10

标签: c# uwp mediaelement

我正在使用简单的音频播放器。到目前为止,我使用的是BackgroundMediaPlayer,但在将背景音频任务添加到应用程序清单时,它似乎无法正常工作。 MediaElement有效,但需要添加到屏幕的XAML树中。我的应用程序有多个屏幕,这是我的问题。有没有办法使用MediaElement而不将其绑定到任何屏幕,或以任何方式将其用于多个屏幕?

谢谢!

2 个答案:

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