title: Play Background Audio on MVVM on windows phone 8.1
body: <p>Im Realy stuck at this. No one on MSDN foruns was able to help me so far.</p>
  
  <p>I have a MVVM app, an edited AppStudio App. Im adding a podcast feature on the app. The feature works perfectly exept for the fact that the podcast audio never plays on Background.</p>
  
  <p>I have declared on the MediaElement that is a background capable media. Here is the XAML of my view </p>
  
  <pre><code>&lt;DataTemplate x:Key="PodCast1DetailDetail"&gt;
      &lt;ScrollViewer&gt;
          &lt;StackPanel&gt;
              &lt;TextBlock Margin="0,16" Text="{Binding Title, Converter={StaticResource TextPlainConverter}, ConverterParameter = 140}" Style="{StaticResource SubHeaderText}" /&gt;
              &lt;MediaElement x:Name="PodCast" 
                  Source="{Binding Enclosure}"
                  PosterSource="{Binding PodcastImg}"
                  CurrentStateChanged="Media_CurrentStateChanged"
                  RateChanged="Media_RateChanged"
                  AreTransportControlsEnabled ="True"
                  AudioCategory="BackgroundCapableMedia"
                  Stretch="UniformToFill"
                  Width="340"
                  Height="auto"
                  MediaFailed="Media_MediaFailed"
                  MediaOpened="Media_MediaOpened"
                  MediaEnded="Media_MediaEnded"
                  AutoPlay="False"
                  HorizontalAlignment="Stretch"/&gt;
  
  
  
                  &lt;!--&lt;Image Source="{Binding ImageUrl, Converter={StaticResource ThumbnailConverter}, ConverterParameter=300}" Stretch="Uniform" /&gt;--&gt;
              &lt;TextBlock Margin="0,12" Style="{StaticResource ItemContentText}" Text="{Binding Content, Converter={StaticResource TextPlainConverter}}" /&gt;
              &lt;!--&lt;controls:WebControl Html="{Binding Content}" Width="auto" Height="1000" Foreground="{StaticResource AppForegroundColor}" /&gt;--&gt;
          &lt;/StackPanel&gt;
      &lt;/ScrollViewer&gt;
  &lt;/DataTemplate&gt;
  </code></pre>
  
  <p>Here is the XAML on the detail page:</p>
  
  <pre><code>&lt;FlipView x:Name="FlipViewPodCast" Grid.Row="1" TabIndex="1"
          DataContext="{Binding NextCastModel}"
            ItemsSource="{Binding Items}"
            ItemTemplate="{StaticResource NextCast1DetailDetail}"
            SelectedItem="{Binding SelectedItem, Mode=TwoWay}"
            ItemContainerStyle="{StaticResource FlipItemStyle}"&gt;
       &lt;/FlipView&gt;
  </code></pre>
  
  <p>Following its all the code behind of the detail page:</p>
  
  <pre><code>    using System;
  using System.Diagnostics;
  using System.Threading;
  using System.Net.NetworkInformation;
  using Windows.Foundation;
  using Windows.Foundation.Collections;
  using Windows.UI.Xaml;
  using Windows.UI.Xaml.Controls;
  using Windows.UI.Xaml.Navigation;
  using Windows.ApplicationModel.DataTransfer;
  using Windows.Media;
  using Windows.Media.Playback;
  using Windows.UI.Core;
  using Windows.UI.Xaml;
  using Windows.UI.Xaml.Media;
  using Windows.UI.Xaml.Controls;
  using Windows.UI.Xaml.Navigation;
  using AppStudio.Services;
  using AppStudio.ViewModels;
  
  
  namespace AppStudio.Views
  {
      public sealed partial class PodCastDetail : Page
      {
          private NavigationHelper _navigationHelper;
  
          private DataTransferManager _dataTransferManager;
  
  
  
  
          public PodCastDetail()
          {
              this.InitializeComponent();
              _navigationHelper = new NavigationHelper(this);
  
  
          }
  
          public PodCastViewModel PodCastModel { get; private set; }
  
          public NavigationHelper NavigationHelper
          {
              get { return _navigationHelper; }
          }
  
  
          protected override void OnNavigatedTo(NavigationEventArgs e)
          {
  
              _dataTransferManager = DataTransferManager.GetForCurrentView();
              _dataTransferManager.DataRequested += OnDataRequested;
  
              _navigationHelper.OnNavigatedTo(e);
  
              PodCastModel = NavigationServices.CurrentViewModel as PodCastViewModel;
              if (PodCastModel != null)
              {
                  PodCastModel.ViewType = ViewTypes.Detail;
              }
              DataContext = this;
  
  
          }
  
          protected override void OnNavigatedFrom(NavigationEventArgs e)
          {
              _navigationHelper.OnNavigatedFrom(e);
              _dataTransferManager.DataRequested -= OnDataRequested;
  
          }
  
          private void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs args)
          {
              if (PodCastModel != null)
              {
                  PodCastModel.GetShareContent(args.Request);
              }
          }
  
  
  
  
      }
  }
  </code></pre>
  
  <p>Can some one please help me? Im realy stuck at this.
  Thanks</p>