如何使用 AudioGraph Api 在后台播放音频?

How to play audio in background using AudioGraph Api?

我正在使用 windows 10 个音频图 APi 来播放曲目。我使用这个 API 的原因是我需要在不同的播放设备上播放曲目。所以,使用这个 API 我可以很容易地选择输出播放设备。 但我现在面临的问题是,每当应用程序进入后台或我最小化应用程序曲目停止播放。

如何在使用 AudioGraph 时继续在后台播放音频Api?

How to keep playing audio in background while using AudioGraph Api?

您需要按照指导在 UWP 应用程序中启用背景音频,如果您只需要使用 AudioGraph 而不是 MediaPlayer,这也可以正常工作。

这个document was adapted from the UWP Background Audio sample.

后台媒体播放功能正是我们需要启用的功能。

已支持两种场景:

  1. Long-running playlists: The user briefly brings up a foreground app to select and start a playlist, after which the user expects the playlist to continue playing in the background.

  2. Using task switcher: The user briefly brings up a foreground app to start playing audio, then switches to another open app using the task switcher. The user expects the audio to continue playing in the background.

我只是创建了一个示例来实现第一个场景并使用 AudioGraph API 播放音频文件,我们需要检查一些要点:

  1. 启用后台媒体播放功能

  2. 设置MediaPlaybackListMediaPlayer,我按照官方的示例使用PlaybackService:

    MediaPlayer Player => PlaybackService.Instance.Player;
    
    MediaPlaybackList PlaybackList
    {
        get { return Player.Source as MediaPlaybackList; }
        set { Player.Source = value; }
    }
    
    public MainPage()
    {
        this.InitializeComponent();
    
        // Handle page load events
        Loaded += Scenario1_Loaded;
    }
    
    private void Scenario1_Loaded(object sender, RoutedEventArgs e)
    {
        // Create a new playback list
        if (PlaybackList == null)
            PlaybackList = new MediaPlaybackList();
    }
    

请检查我完成的样本: LINK