我有这个App.xaml.cs
:
protected override void OnFileActivated(FileActivatedEventArgs args)
{
Window.Current.Content = new Frame();
((Frame)Window.Current.Content).Navigate(typeof(MainPage), args);
Window.Current.Activate();
}
这在MainPage.xaml.cs
:
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
FileActivatedEventArgs filesArgs = (FileActivatedEventArgs)e.Parameter;
StorageFile file = (StorageFile)filesArgs.Files[0];
mc.SetSource(await file.OpenReadAsync(), file.ContentType);
mc.Play();
}
这在MainPage.xaml
:
<MediaElement x:Name="mc" />
现在,我面临一个非常奇怪的问题。我已将我的应用与 .MP4 文件相关联。每当我打开任何文件时,它都不会立即播放。例如。
- 我打开
a.mp4
,它没有播放,我没有关闭应用程序。 - 我打开
b.mp4
,它没有播放,我没有关闭应用程序。 - 然后,我打开
a.mp4
,它被播放。如果没有,我再试一次,它就会被播放。现在,如果我打开任何 MP4 文件,它会毫无问题地播放,直到我关闭应用程序。
因此,这种解决方法有时有效:
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
FileActivatedEventArgs filesArgs = (FileActivatedEventArgs)e.Parameter;
StorageFile file = (StorageFile)filesArgs.Files[0];
StorageFile file2 = (StorageFile)filesArgs.Files[0];
mc.SetSource(await file2.OpenReadAsync(), file2.ContentType);
mc.SetSource(await file2.OpenReadAsync(), file2.ContentType);
mc.Play();
}
有谁知道为什么没有解决方法它不能工作?