代码之家  ›  专栏  ›  技术社区  ›  EvgenieT

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

  •  0
  • EvgenieT  · 技术社区  · 7 年前

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

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

    元Vlc, Vlc.DotNet.Core文件, Vlc.DotNet.Core文件.互操作,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:VLC控制。

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

    但我只有黑色的窗户,没有声音。我想我做错什么了。 你能帮我学会在WPF中运行VLC播放器吗?

    谢谢您,

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

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

    出于某种原因,它可以与mp4文件一起使用,但不能与ogv一起使用。

    0 回复  |  直到 7 年前