WPF:如何播放视频

问题描述 投票:0回答:4

我尝试使用标准 MediaElement 控件来播放文件,但我根本无法让它显示,也无法在 Windows 8.1 上播放。我尝试将文件转换为各种格式。它一开始是 Mac 上的 MP4 文件,然后我使用 ffmpeg 将其转换为 WMV,然后转换为 MPG。这些文件都不会播放。如果有可靠的方法让它播放的话,我愿意将其转换为动画 GIF。任何帮助表示赞赏。我正在使用 Microsoft 提供的示例 XAML 代码,并且我尝试了 StackOverflow 中的一些 XAML 示例。

c# wpf xaml video mediaelement
4个回答
0
投票

支持 Mp4 格式并且应该可以使用。尝试一些其他视频。您使用的是 mediaelement 类吗?

用您的视频文件名尝试这个

还可以调试以检查上述事件是否被触发。

如果仍然不起作用,请详细阅读这篇文章,看看你缺少什么。


0
投票

不确定您是否遇到与我相同的问题,但在遇到一些令人困惑的问题后,我得到了 .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 但请记住将文件构建操作设置为“嵌入资源”才能使其正常工作。


0
投票

在没有看到你的任何代码的情况下很难说。几个月前,我从本教程中获得了视频:播放视频

这是其中最基本的片段:

<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 中的输出窗口。您可能会在其中看到一些异常或消息,说明为什么事情不适合您。


0
投票

您必须在 XAML 中添加 Mediaelment:

<MediaElement LoadedBehavior="Manual" Name="MediaPlayer" Height="200" Visibility="Visible"
                              Source="{Binding VidoPath}" /> 

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.