2016-07-12 2 views
0

간단한 오디오 플레이어에서 작업하고 있습니다. 지금까지 BackgroundMediaPlayer을 사용하고 있었지만 백그라운드 오디오 작업이 응용 프로그램 매니페스트에 추가되면 작동하지 않는 것 같습니다. MediaElement이 작동하지만 화면의 XAML 트리에 추가해야합니다. 내 응용 프로그램에 여러 개의 화면이 있으며 그게 내 문제입니다. MediaElement을 아무 화면이나 여러 화면에 사용하지 않고 사용할 수 있습니까?C# UWP 하나의 MediaElement 다중 스크린

감사합니다!

답변

0

MediaElement은 오디오 및 비디오를 지원하도록 설계되었으므로 실제로는 디스플레이 비디오 및 미디어 제어 요소를 표시 할 수 있도록 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);