0

メディア アイテムのオーバーレイ システムを作成しようとしています。そのために、キャンバスをフォームに追加します。コードを使用して、キャンバスにメディア要素を追加します。

mediaPlayer = new MediaElement();
canvas.Children.Add(mediaPlayer);
mediaPlayer.HorizontalAlignment = HorizontalAlignment.Left;
mediaPlayer.VerticalAlignment = VerticalAlignment.Top;
mediaPlayer.Height = 1080;
mediaPlayer.Width = 1920;
mediaPlayer.Source = new Uri(ConfigurationManager.AppSettings["VideoFile"], UriKind.Relative);

mediaPlayer.LoadedBehavior = MediaState.Manual;

mediaPlayer.Play();
mediaPlayer.MouseDown +=mediaPlayer_MouseDown;

アプリを起動すると、canvas.Children.Add(mediaPlayer): Object reference not set to an instance of an object で例外が発生します。この行をインスタンス化の後、Play() 呼び出しの直前、または play() 呼び出しの直後に配置しても問題ありません。

デザイナーに追加すると機能しますが、手動で開始することはできませんが、LoadedBehaviorを手動に設定するとクラッシュします(同じエラー)。メディア要素をフォームに追加すると、期待どおりに機能しますが、要素をオーバーレイすることはできません...何が間違っていますか?

4

1 に答える 1