Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将WPF MediaElement与MKV视频格式一起使用-无音频_Wpf_Vb.net_Xaml_Mediaelement - Fatal编程技术网

将WPF MediaElement与MKV视频格式一起使用-无音频

将WPF MediaElement与MKV视频格式一起使用-无音频,wpf,vb.net,xaml,mediaelement,Wpf,Vb.net,Xaml,Mediaelement,我正在尝试使用WPF/VB中的MediaElement控件播放.mkv视频文件。视频效果很好,但我还没有从我尝试过的任何.mkv文件中获得音频。my.mkv文件的典型音频编解码器是A52音频(又名AC3)或DTS 在Windows Media Player(v12.0)中,所有.mkv文件都可以正常播放(带音频) XAML: 这是MediaElement的一个限制还是我缺少了一些功能。如果这是一个限制,您能推荐一个具有简单实现的替代控件吗?(在替代控制中,FLAC支持将是一个优势。) 谢谢 您至

我正在尝试使用WPF/VB中的MediaElement控件播放.mkv视频文件。视频效果很好,但我还没有从我尝试过的任何.mkv文件中获得音频。my.mkv文件的典型音频编解码器是A52音频(又名AC3)或DTS

在Windows Media Player(v12.0)中,所有.mkv文件都可以正常播放(带音频)

XAML:

这是MediaElement的一个限制还是我缺少了一些功能。如果这是一个限制,您能推荐一个具有简单实现的替代控件吗?(在替代控制中,FLAC支持将是一个优势。)


谢谢

您至少需要Windows Media Player 10或更高版本才能正确使用MediaElement。Windows XP不包括这些

如果您在windows中播放.mkv,可能使用media player,您是否可以获得音频?@Jodrell是的,windows media player中的视频和音频都可以正确播放。另外,我忘了提到,如果我测试HasAudio,它会返回True。我不得不问,我不会考虑音量设置。是的,我目前的音量设置为1。如果重要的话,我的系统上有CoreAVC/Haali媒体拆分器。还有其他想法吗?:)
<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="450" Width="800" WindowState="Normal" Background="Black">

    <Grid>
        <MediaElement x:Name="meVideo" Width="800" Height="450" HorizontalAlignment="Center" VerticalAlignment="Center" Volume="1" />
    </Grid>
</Window>
Private Sub meVideo_Loaded(sender As Object, e As System.Windows.RoutedEventArgs) Handles meVideo.Loaded
    meVideo.LoadedBehavior = MediaState.Manual
    meVideo.Source = New Uri("D://video.mkv", UriKind.RelativeOrAbsolute)
    meVideo.Play()
End Sub