我正在用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。