我想让它在打开一个媒体文件(音乐或视频)时,它在一个应用程序窗口中打开,而不是创建另一个正在播放另一个文件的窗口(例如,这样两个轨道就不会同时播放或两个视频不会同时播放)。我在Main方法中做了一个重定向,它几乎可以正确地工作,当打开另一个媒体文件时,应用程序在一个已经存在的窗口中打开它,就像覆盖了应用程序的前一个示例。但主要问题是播放器中来自前一个示例的音乐继续播放,并与来自新示例的声音重叠。
- 带重定向的Main方法:**`static void Main(){IActivatedEventArgs activatedArgs = AppInstance. GetActivatedEventArgs();
if (activatedArgs is FileActivatedEventArgs fileArgs)
{
IStorageItem file = fileArgs.Files.FirstOrDefault();
if (file != null)
{
AppInstance instance;
if (Constants.SupportedImagesFormates.Any(x => file.Name.Contains(x)))
{
instance = AppInstance.FindOrRegisterInstanceForKey(file.Name);
}
else
{
instance = AppInstance.FindOrRegisterInstanceForKey("playbackMedia");
}
if (instance.IsCurrentInstance)
{
Application.Start((p) => new App());
}
else
{
instance.RedirectActivationTo();
}
}
}
else
{
Application.Start((p) => new App());
}
}`
有办法解决吗?希望我解释清楚了...
1条答案
按热度按时间quhf5bfb1#
打开新示例时,需要手动暂停MediaPlayer。
建议使用MediaPlayer.Pause,打开新示例时暂停音频或视频文件。