BufferingStarted 和 PlaybackSession.BufferingStarted 有什么区别

What's the difference between BufferingStarted and PlaybackSession.BufferingStarted

我正在使用 UWP MediaPlayerElement,并设置

var mediaPlayer = new MediaPlayer();
viuMediaPlayer.SetMediaPlayer(mediaPlayer);
mediaPlayer.BufferingStarted += MediaPlayer_BufferingStarted;
mediaPlayer.PlaybackSession.BufferingStarted += PlaybackSession_BufferingStarted;

在使用BufferingStarted事件时,我发现这两个都有buffer start事件。 同样适用于 PlaybackStateChanged 和其他事件。

它们有什么区别?

这种重复实际上是由于这些 "duplicated" MediaPlayer 事件现在已被弃用。请参阅 documentation 以获取 BufferingStarted 事件,例如:

MediaPlayer.BufferingStarted may be altered or unavailable after Windows 10, version 1607. Instead, use the MediaPlayer.PlaybackSession property to get a MediaPlaybackSession object and then use the MediaPlaybackSession.BufferingStarted event.

因此您可以安全地使用 MediaPlayer.PlaybackSession,并在以后的更新中保持安全。