首页 新闻 会员 周边 捐助

为什么WPF中的MediaElement不能播放视频

1
悬赏园豆:10 [已关闭问题] 关闭于 2012-07-08 08:53

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>

        <MediaElement Source="E:\WebCast\0801.wmv" Opacity="0.5">

            <MediaElement.Clip>

                <EllipseGeometry Center="220 220" RadiusX="220" RadiusY="220"/>

            </MediaElement.Clip>

            <MediaElement.LayoutTransform>

                <RotateTransform Angle="180"/>

            </MediaElement.LayoutTransform>

        </MediaElement>
   
    </Grid>
</Window>

这是我的代码,运行程序的时候,窗口里是一片空白,怎么没自动播放视频?

JeffLiang的主页 JeffLiang | 初学一级 | 园豆:43
提问于:2010-08-13 11:42
< >
分享
所有回答(8)
0

这样就能自动播放视频了啊!真神奇!

 

你把 Opacity clip layerout都去掉试试

Launcher | 园豆:45050 (高人七级) | 2010-08-13 11:57
0

给 MediaElment 元素命名:如 Player1 

在窗体的构造函数里面、        

 在  InitializeComponent();这个方法后面加上下面这句

  this.Player1.LoadedBehavior = MediaState.Manual;

然后在窗体的 Load 事件里面调用 Player1.Play();方法,就可以在窗体加载后就直接播放视频, 你也可以在窗体中加两个按钮, 一个播放、一个停止,在 播放按钮Click 事件里面调用 Player1.Play();在停止按钮 Click 事件 调用 Player1.Stop();

HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-13 12:56
public Window1() { InitializeComponent(); this.Player1.LoadedBehavior = MediaState.Manual; } private void Window_Loaded(object sender, RoutedEventArgs e) { Player1.Play(); } 朋友,我已按你说的加了相应的代码,可还是不能播放视频,看到的还是一片空白。
支持(0) 反对(0) JeffLiang | 园豆:43 (初学一级) | 2010-08-13 14:41
把你的 XAML 标记改成: <MediaElement x:Name="Player1" Source="G:\Xunlei\花木兰CD1.rmvb" Opacity="0.5"> </MediaElement>
支持(0) 反对(0) HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-13 19:41
还有, 你这个值 Opacity="0.5"改成 1 ,要不然看起来很模糊。
支持(0) 反对(0) HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-14 09:04
还是不行,我晕了。朋友,你能把你那边能看到效果的代码发到我邮箱里吗?lj492720891@163.com
支持(0) 反对(0) JeffLiang | 园豆:43 (初学一级) | 2010-08-15 09:43
朋友,谢谢你刚发给我的邮件。我把source替换为我本地的wmv文件,还是不能播放。我郁闷了。另外,MediaElement能播放其它格式的文件吗。比如avi?
支持(0) 反对(0) JeffLiang | 园豆:43 (初学一级) | 2010-08-15 12:16
那你确定下的WMV 文件是不是有问题,用别的播放器试下你的文件能不能播放,我在我这里播放了下WMV 文件是可以的。
支持(0) 反对(0) HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-15 13:32
MedialElement 支持的播放格式有很多,下面的链接是他所有的额列表: http://msdn.microsoft.com/zh-cn/library/cc189080%28VS.95%29.aspx
支持(0) 反对(0) HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-15 13:38
兄弟,我这还是不能播放,我搞不懂了。
支持(0) 反对(0) JeffLiang | 园豆:43 (初学一级) | 2010-08-27 10:02
兄弟,我就是用你上次发给我的那个程序改的。唯一的不同就是改了视频文件的路径。公司的电脑里没有代码了,晚上你在吗?你加我QQ,好吗?晚上回去,你帮我看看这个问题。
支持(0) 反对(0) JeffLiang | 园豆:43 (初学一级) | 2010-08-27 10:20
你QQ多少?
支持(0) 反对(0) HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-27 16:52
0

你装的是win7吗? 还有装微软自带的播放器? 

Lee's Blog | 园豆:530 (小虾三级) | 2011-11-19 18:15

xp的。装了自带的播放器。

支持(0) 反对(0) JeffLiang | 园豆:43 (初学一级) | 2011-11-21 10:09

@Jeffrey.Liang: 你试下这个 WPFMediaKit.dll ,看下这个就会的

http://wpfmediakit.codeplex.com/

支持(0) 反对(0) Lee's Blog | 园豆:530 (小虾三级) | 2011-11-21 20:03
0

请问 楼主你的这个问题解决了吗 我这里也遇到和你类似的问题 我是刚自学没多长时间 

也是 Silverlight MediaElement 本地视频文件播放不了的问题,路径不会错 ,而且视频文件的生产操作也改成Resource 了 

但是就是播放不了是不是得配置什么服务之类的,哥们指点下呗

Smile_Xu | 园豆:2 (初学一级) | 2013-01-22 15:06

MediaElement有个AutoPlay属性设置为true

支持(0) 反对(0) 不进则退哦 | 园豆:207 (菜鸟二级) | 2013-02-19 11:39

wpf的播放路径必须是绝对的完整路径,例如:source="c:\xy.wmv",否则不能播放。我亲自测试过。

<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<MediaElement x:Name="me" HorizontalAlignment="Left" Height="300" Margin="10,10,0,0" VerticalAlignment="Top" Width="497"
Source="E:\cxxx\wpf和silverlight项目设计实例\1.1 wpf expander控件\WpfApplication1\WpfApplication1\video\zghm.wmv"/>

</Grid>
</Window>

支持(0) 反对(0) wslk | 园豆:202 (菜鸟二级) | 2014-04-03 00:54
0

wpf的播放路径必须是绝对的完整路径,例如:source="c:\xy.wmv",否则不能播放。我亲自测试过。

wslk | 园豆:202 (菜鸟二级) | 2014-04-03 00:51
0

请问,你的问题解决了吗?我也出现了同样的问题了。如果解决了,能告诉我一下答案吗?

anyiyefengying | 园豆:202 (菜鸟二级) | 2014-10-23 18:27
0

你的路径错了吧,要不你试试,OpenFileDialog .我正在做一个MediaElenment视频播放项目 我们可以讨论讨论,QQ:798838667

#region //播放本地文件 打开对话窗口
private void btnOpen_Click(object sender, RoutedEventArgs e)
{
op = new OpenFileDialog();
op.Filter = "选择文件|*.avi;*.wmv";

if (op.ShowDialog() == true)
{
if (op.FileName != "")
{
Med.Source = new Uri(op.FileName);

Med.Play();
btnPlay.Content = "暂停";

}
}

碎碎念 安锦流年 | 园豆:146 (初学一级) | 2014-11-09 17:36

    你的qq有验证    加不上啊

0

必须是绝对路径!       或者将视频文件包含在项目中,然后右键视频   选择属性     设置复制到输出目录为:始终复制  。这样就可以设置相对路径了

未雨先惆 | 园豆:209 (菜鸟二级) | 2015-01-08 11:22

1.我设置是绝对路劲,然后将视频文件包含在项目中,然后右键视频   选择属性     设置复制到输出目录为:始终复制  ;视屏还是播放不了(avi视屏可以播放,但是播放前要停顿几秒;wmv视屏播放出现视屏的初始页面就卡顿了;ps:两个视屏绝对是好的,就本地的播放器可以播放)

2.两个视屏文件就放在本地E的根目录下,我设置的也是决定路径,出现的也是如上的结果(avi视屏可以播放,但是播放前要停顿几秒;wmv视屏播放出现视屏的初始页面就卡顿了)

综上,是否将视屏放入项目中似乎没有影响(个人观点),但是我也找不出wmv视屏播放不了的原因,求赐教

支持(0) 反对(0) Suny_cheng | 园豆:200 (初学一级) | 2015-06-11 11:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册