3

Win8 メトロ スタイル アプリケーションを構築しようとしています。メディア要素で Web 上のリモート ビデオを再生しようとしています。

      MediaElement media = new MediaElement();
        Uri url = new Uri("some url on web");
        media.Source = url;
        media.Play();

最初のストリーミングには時間がかかります。動画の再生開始まで時間がかかり、その間アプリはロックされます。私はそれを無頓着にやりたいです。どうすればこれを達成できますか。

4

1 に答える 1

3

いくつかの検索の後、ディスパッチャー要素を使用すると、非同期で作業できることがわかりました。サンプルは次のとおりです。

await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
         {
            MediaElement media = new MediaElement();
            Uri url = new Uri("some url on web");
            media.Source = url;
            media.Play();
         }

        );

このコード ブロックを機能させるには、呼び出し元の関数を非同期としてマークする必要があります。

于 2012-09-15T11:03:39.547 に答える