将VLC播放器的xaml元素添加到WPF应用程序

时间:2018-06-29 12:17:54

标签: c# wpf vlc

我正在用C#WPF制作视频游戏。我有大量的MediaElement,可以在需要时运行mp3和mp4文件。最近,我读到使用这些文件格式需要支付许可费,并决定将它们转换为ogg和ogv格式。

请确保您理解:我不是在尝试制作自己的视频播放器。我只需要一种在游戏的正确阶段运行相关文件的方法。

我在网上找到了一些信息,现在尝试制作一个小型测试应用程序,该应用程序只能在开始时运行视频。

我安装了那些NuGet插件(不知道需要哪一个):

Meta.Vlc,Vlc.DotNet.Core,Vlc.DotNet.Core.Interops,Vlc.DotNet.Wpf

那是我的xaml文件:

 <Window x:Class="Test.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"    
    xmlns:wpf="clr-namespace:Vlc.DotNet.Wpf;assembly=Vlc.DotNet.Wpf"
    xmlns:local="clr-namespace:Test"
    mc:Ignorable="d"
    Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<Grid>
    <MediaElement x:Name="movTest" Panel.ZIndex="1" HorizontalAlignment="Left" Height="319" Margin="10,0,0,0" VerticalAlignment="Top" Width="507" LoadedBehavior="Manual" Source="Resources/VideoFallingFromTable.ogv"/>
    <wpf:VlcControl x:Name="movTest2" Panel.ZIndex="2" />
</Grid>

现在,我看到没有wpf:VlcControl的“源”。

Si,我尝试从MediaElement加载源。

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {            
        movTest2.MediaPlayer.Play(movTest.Source);
    }

但是我只有黑色的窗户,没有声音。我想我做错了。 您可以帮助我学习在WPF中运行VLC播放器吗?

谢谢你, 叶夫根尼(Evgenie)

更新: 我尝试了以下代码:

        VlcControl thisVlcControl = new VlcControl();
        Uri src = new Uri(movTest.Source.ToString(), UriKind.RelativeOrAbsolute);
        thisVlcControl.MediaPlayer.Play(src);

由于某种原因,它只能用于mp4文件,而不能用于ogv。

0 个答案:

没有答案