私はこれを持っています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();
}
回避策なしで機能しない理由を誰かが知っていますか?