WP7上的MediaPlayerLauncher - 如何恢复以前播放的媒体?

时间:2012-08-08 12:28:36

标签: c# windows-phone-7 media-player

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

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

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

有没有人知道我怎么能恢复以前播放的音乐/媒体,如果可能的话?

2 个答案:

答案 0 :(得分:0)

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

在WP7 / WP8中播放媒体时,会拍摄操作系统音频上下文,原始上下文将丢失。如果音频是从外部应用程序启动的,那么您根本无法恢复。如果以前的媒体是从您的应用程序中启动的,那么您可以存储元数据并在预告片完成后重新播放。当然,媒体将从一开始就开始播放,而不是用户离开的地方。不幸的是,XNA不允许您在给定的媒体内寻找;但是你可以通过设置player.Position在'BackgroundAudioPlayer'的'音频代理'实例中寻找。它也值得一看MediaHistory API:

var nowPlaying = Microsoft.Devices.MediaHistory.Instance.NowPlaying;

答案 1 :(得分:0)

想出来。在show()之后立即调用MediaPlayer.Resume()解决了这个问题:

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

MediaPlayer.Resume();

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