【问题标题】:UWP: clear audio stream cacheUWP:清除音频流缓存
【发布时间】:2015-11-01 07:51:11
【问题描述】:

我正在开发在线广播应用程序,并使用Microsoft background media sample 作为起点。我已将源设置为我的在线广播的 URI,但是当我开始在运行时更改频道时,它们会从与第一次相同的点播放。我认为音频缓存以某种方式。那么如何清除缓存或从实际时间开始播放所选频道而不是首次启动?

【问题讨论】:

    标签: c# windows-10 background-audio uwp


    【解决方案1】:

    很简单,您只能通过 MediaPlaybackList 类使用媒体播放器进行操作,因此假设您想要切换到上一首曲目并且想要删除当前曲目的缓存,而不是使用方法 SkipToPrevious 播放列表.CurrentItem.Source.Reset();

    所以它看起来像这样

            /// <summary>
            /// Skip track and update UVC via SMTC
            /// </summary>
            private void SkipToPrevious()
            {
                smtc.PlaybackStatus = MediaPlaybackStatus.Changing;
                playbackList.CurrentItem.Source.Reset();
                playbackList.MovePrevious();
    
            }
    

    【讨论】:

    • 以前好像没有这种方法)
    【解决方案2】:

    如果您在 MyBackgroundAudioTask.cs 中设置了播放列表 = null,然后重新创建播放列表,它将清除缓存并开始直播。这可能是一个笨拙的解决方案,但似乎确实有效。

    UpdatePlaylistMessageExtra UpdatePlaylistMessageExtra;
            if (MessageService.TryParseMessage(e.Data, out UpdatePlaylistMessageExtra))
            {
                if (playbackList != null)
                {
                    playbackList = null;
                    CreatePlaybackList(UpdatePlaylistMessageExtra.Songs); //Recreate to start from start and not cached stream
                    Debug.WriteLine("Playbacklist rebinded in BG");
    
                    BackgroundMediaPlayer.Current.AutoPlay = true;
                }
                return;
            }
    

    【讨论】:

      猜你喜欢
      • 2016-10-10
      • 1970-01-01
      • 1970-01-01
      • 2011-06-01
      • 2019-07-30
      • 2021-04-20
      • 2020-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多