【问题标题】:WPF: How to play a videoWPF:如何播放视频
【发布时间】:2014-05-10 08:01:40
【问题描述】:
我尝试使用标准 MediaElement 控件播放文件,但我根本无法让它出现,也无法在 Windows 8.1 上播放。我尝试将我的文件转换为各种格式。它从 Mac 开始是一个 MP4 文件,然后我使用 ffmpeg 将其转换为 WMV,然后再转换为 MPG。这些文件都不会播放。我愿意将它转换为动画 GIF,如果有一种可靠的方式来播放它。任何帮助表示赞赏。我正在使用 Microsoft 提供的示例 XAML 代码,并尝试了 StackOverflow 中的一些 XAML 示例。
【问题讨论】:
标签:
c#
wpf
xaml
video
mediaelement
【解决方案1】:
支持 Mp4 格式,它应该可以工作。试试其他视频。你在使用 mediaelement 类吗?
用你的视频文件名试试这个
或
同时调试以检查是否触发了上述事件。
如果仍然无法正常工作,请详细阅读此article,看看您缺少什么。
【解决方案2】:
不确定您是否遇到与我相同的问题,但在遇到一些令人困惑的问题后,我得到了 .mpg 文件和 .wmv 文件。
<MediaElement Grid.Row="0" Source="VideoElements\Wildlife.wmv" Name="myMediaElement"
Width="450" Height="250" Opacity="1" Volume="1" LoadedBehavior="Manual"
UnloadedBehavior="Stop" Stretch="Fill" />
<Image Source="images\ui_play.gif" MouseDown="OnMouseDownPlayMedia" Margin="5" />
void OnMouseDownPlayMedia(object sender, MouseButtonEventArgs args)
{
// The Play method will begin the media if it is not currently active or
// resume media if it is paused. This has no effect if the media is
// already running.
myMediaElement.Play();
}
你可以试试这个代码,看看你能不能让它工作。如果没有,我会检查我是否做了其他事情:P 但请记住将您的文件构建操作设置为“嵌入式资源”以使其正常工作。
【解决方案3】:
很难说没有看到您的任何代码。几个月前,我从本教程中获得了视频:Playing video。
这是其中最基本的sn-p:
<Window x:Class="WpfTutorialSamples.Audio_and_Video.MediaPlayerVideoSizeSample"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MediaPlayerVideoSizeSample" Height="500" Width="500" SizeToContent="WidthAndHeight">
<Grid>
<MediaElement Source="http://hubblesource.stsci.edu/sources/video/clips/details/images/hst_1.mpg" Name="mePlayer" Stretch="None" />
</Grid>
我在 MediaElement.Source 中使用磁盘上文件的完整路径(例如:C:\Videos\SomeVideo.mp4),它适用于少数扩展名,包括 .mp4 和 .wmv。
如果这对您不起作用,请尝试在调试时查看 Visual Studio 的输出窗口。您可能会在其中看到一些异常或消息,说明为什么事情不适合您。
【解决方案4】:
您必须在 XAML 中添加 Mediaelment:
<MediaElement LoadedBehavior="Manual" Name="MediaPlayer" Height="200" Visibility="Visible"
Source="{Binding VidoPath}" />
谢谢