2016-07-12 16 views
0

私は単純なオーディオプレーヤーで作業しています。これまではBackgroundMediaPlayerを使用していましたが、バックグラウンドのオーディオタスクがアプリケーションマニフェストに追加されても動作しないようです。 MediaElementが動作しますが、画面のXAMLツリーに追加する必要があります。私のアプリケーションには複数の画面があり、それが私の問題です。 MediaElementをどの画面にもバインドせずに使用する方法や、複数の画面で使用する方法はありますか?C#UWP 1つのMediaElement複数の画面

ありがとうございます!

答えて

0

オーディオとビデオをサポートするように設計されているため、実際にはディスプレイのビデオとメディアコントロール要素が表示されるように、UIにアタッチする必要があります。

ユーザーの操作(ボリュームコントロール、再生、一時停止、次など)を必要とせずに、オーディオを再生することをお探しの場合は、AudioGraphのような他のクラスを見ることができます。サンプルhereもあります。

+0

ありがとう...だから、UWPは**再生制御を可能にする他のオプションはありません? – CryoCZ

+0

私が知っているわけではありません。しかし、シームレスな再生が必要な場合は、別のページ/ウィンドウでUIを使用することはできません。 – 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); 
関連する問題