Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WP7上的MediaPlayerLauncher-如何恢复以前播放的媒体?_C#_Windows Phone 7_Media Player - Fatal编程技术网

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

C# WP7上的MediaPlayerLauncher-如何恢复以前播放的媒体?,c#,windows-phone-7,media-player,C#,Windows Phone 7,Media Player,我正在使用MediaPlayerLauncher在我的WP7应用程序中显示MovietRailer,如下所示: MediaPlayerLauncher mpl = new MediaPlayerLauncher(); mpl.Media = new Uri(trailerUrl, UriKind.Absolute); mpl.Controls = MediaPlaybackControls.All; mpl.Show(); 这很好,除了一件事:如果用户已经在后台听音乐,并且启动了一个预告片,那

我正在使用MediaPlayerLauncher在我的WP7应用程序中显示MovietRailer,如下所示:

MediaPlayerLauncher mpl = new MediaPlayerLauncher();
mpl.Media = new Uri(trailerUrl, UriKind.Absolute);
mpl.Controls = MediaPlaybackControls.All;
mpl.Show();
这很好,除了一件事:如果用户已经在后台听音乐,并且启动了一个预告片,那么在预告片播放完毕后(或者如果用户关闭了视频),音乐不会恢复


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

通过XNA或“后台音频代理”播放本地媒体

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

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

我明白了。在show()之后立即调用MediaPlayer.Resume()可以解决以下问题:

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

MediaPlayer.Resume();

然而,我仍然想知道如何恢复广播和spotify

代表Naumann先生发言时,在后台播放的媒体总是来自
BackgroundAudioAgent
。假设您想在使用此应用程序时(播放音乐时)观看电影。音乐本该停止,但不会再次启动。由于在播放完视频后,
MediaPlayerLauncher
不会触发任何事件,因此很难再次启动音乐播放。您知道如何恢复Spotify吗?我也在处理同样的事情。