6

我正在使用 MediaPlayerLauncher 在我的 WP7 应用程序中显示电影预告片,如下所示:

MediaPlayerLauncher mpl = new MediaPlayerLauncher();
mpl.Media = new Uri(trailerUrl, UriKind.Absolute);
mpl.Controls = MediaPlaybackControls.All;
mpl.Show();

这很好用,除了一件事:如果用户已经在后台听音乐,并启动预告片,则在预告片播放完成后(或者如果用户关闭视频),音乐不会恢复。

如果可能的话,有谁知道我如何恢复以前播放的音乐/媒体?

4

2 回答 2

0

弄清楚了。在 show() 之后立即调用 MediaPlayer.Resume() 可以解决问题:

mpl.Media = new Uri(trailerurl, UriKind.Absolute);
mpl.Controls = MediaPlaybackControls.All;
mpl.Show();

MediaPlayer.Resume();

但是,我仍然想知道如何恢复广播和 spotify!

于 2012-08-08T13:23:19.717 回答
0

通过 XNA 或“背景音频代理”播放本地媒体?

当您在 WP7 / WP8 中播放媒体时,会采用 OS 音频上下文,而原始上下文会丢失。如果音频是从外部应用程序启动的,那么您根本无法恢复。如果之前的媒体是从您的应用程序中启动的,那么您可以存储元数据并在预告片完成后重新播放。当然,媒体会从头开始播放,而不是从用户停止的地方开始播放。不幸的是,XNA 不允许您在给定的媒体中进行搜索;但是,您可以通过设置 player.Position 在“BackgroundAudioPlayer”的“音频代理”实例中查找。MediaHistory API 也值得一看:

var nowPlaying = Microsoft.Devices.MediaHistory.Instance.NowPlaying;
于 2012-08-08T12:40:51.460 回答