将视频路径从媒体元素传递到另一个类中的媒体元素

时间:2013-06-07 10:34:08

标签: c# dialog filepath mediaelement

您好,我正在开发一款类似Power Point的软件。要添加视频,我会添加视频幻灯片,然后选择浏览以搜索视频。添加视频后,您可以选择右键单击该视频,并在选项中编辑视频。选择编辑视频将显示另一个页面,其中包含媒体元素和位于其下方的滑动条,其中包含播放,暂停,停止按钮。当我从主窗口类调用视频编辑器类时,视频路径肯定会正确传递(我已经介入并发现了这一点)它将视频路径添加到媒体元素源但它永远不会加载,就好像路径从未过去了。在编辑器中有一个浏览按钮可以添加更多视频,当我以这种方式添加视频时,它们会正确显示媒体元素。

VideoWindow是视频编辑器的类。

public VideoWindow(Video __video, Roots __roots)
    {

        InitializeComponent();

        _roots = __roots;
        string videoFilePathFull = "";
        foreach (string file in Directory.EnumerateFiles(_roots.RunTimeTemp, "*.mp4*", SearchOption.AllDirectories))
        {
            videoFilePathFull = file;
        }
        mediaElement1.Source = new Uri(videoFilePathFull, UriKind.Relative);
        _staticVideo = __video;
        _tempVideo.Path = videoFilePathFull;
        initVideo();

    }

editVideoElement方法是在主窗口中调用的方法

private void editVideoElement(object sender,RoutedEventArgs e)         {

            string __vidFileName = "";
            DesignerItem __item = getSingleSelectedElement();
            ComponentProperties __props = _slideFactory.GetComponentProperties(__item.Name);
            __vidFileName = __props.Video.Path;


            VideoWindow __slideVideo = new VideoWindow(__props.Video, roots);
            __slideVideo.Owner = this;
            __slideVideo.ShowDialog();

    }

1 个答案:

答案 0 :(得分:0)

我通过__props.Video传递视频,在VideoWindow类的页面加载中,我设置了媒体元素以获得路径。我已经在类中创建了一个方法,我在VideoWindow类的页面加载中调用,如果路径被传递,现在路径被传递到媒体元素:)