2016-07-12 34 views
0

我正在製作簡單的音頻播放器。到目前爲止,我使用的是BackgroundMediaPlayer,但當背景音頻任務添加到應用程序清單時,它似乎不起作用。 MediaElement的作品,但需要添加到屏幕的XAML樹。我的應用程序有多個屏幕,這是我的問題。有沒有辦法使用MediaElement而不將其綁定到任何屏幕或以任何方式在多個屏幕上使用它?C#UWP One MediaElement多屏幕

謝謝!

回答

0

由於MediaElement被設計爲支持音頻和視頻它需要被附連到UI所以它實際上可以顯示視頻和媒體控制元件。

如果你正在尋找的是在播放音頻,無需用戶交互(音量控制,播放,暫停,下一個等),也許你可以看看其他類如AudioGraph。您還可以找到樣品here

+0

謝謝...所以UWP沒有其他選擇,**會**允許播放控制? – CryoCZ

+0

不是我所知道的。但是,既然你想在不同的頁面/窗口,它不能有一個用戶界面,如果你想無縫播放的權利? – AlexDrenea

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