【发布时间】:2013-04-20 21:52:58
【问题描述】:
我正在尝试使用 WPF/VB 中的 MediaElement 控件播放 .mkv 视频文件。视频效果很好,但我还没有从我尝试过的任何 .mkv 文件中获取音频。我的 .mkv 文件的典型音频编解码器是 A52 Audio(又名 AC3)或 DTS。
所有 .mkv 文件在 Windows Media Player (v 12.0) 中都可以正常播放(带音频)。
XAML:
<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>
VB:
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
这是 MediaElement 的限制还是我在这里缺少某些功能。如果这是一个限制,你能推荐一个简单实现的替代控件吗? (FLAC 支持将是替代控件的一个加分项。)
谢谢!
【问题讨论】:
-
如果您在 Windows 中播放 .mkv,可能使用媒体播放器,您会收到音频吗?
-
@Jodrell 是的,视频和音频都可以在 Windows Media Player 中正常播放。另外,我忘了提到,如果我测试 HasAudio,它会返回 True。
-
我不得不问,我不会考虑音量设置。
-
是的,我目前将音量设置为 1。如果重要的话,我的系统上有 CoreAVC/Haali Media Splitter。
-
还有其他想法吗? :)
标签: wpf vb.net xaml mediaelement