为什么';t MediaElement在Silverlight中工作?

为什么';t MediaElement在Silverlight中工作?,silverlight,mediaelement,Silverlight,Mediaelement,当我运行Silverlight应用程序时,此代码根本不播放视频: <MediaElement Source="winvideo-201DataGridPreview.wmv" AutoPlay="True" AudioStreamIndex="2" Margin="10" Height="200" Width="200"/> 从我能找到的所有MediaElement示例来看,

当我运行Silverlight应用程序时,此代码根本不播放视频:

    <MediaElement
        Source="winvideo-201DataGridPreview.wmv"
        AutoPlay="True"
        AudioStreamIndex="2"
        Margin="10"
        Height="200"
        Width="200"/>

从我能找到的所有MediaElement示例来看,它似乎是正确的语法,等等


有什么我忘记的吗?

可能是不支持的mediafile

这些是受支持的(来源:)

MediaElement对象支持以下格式。无论文件扩展名是什么,都支持这些编码

视频

  • WMV1:Windows Media Video 7
  • WMV2:Windows Media Video 8
  • WMV3:Windows Media Video 9
  • WMVA:Windows Media视频高级
  • 配置文件,非VC-1
  • WMVC1:Windows Media视频高级 简介,VC-1
音频

  • WMA 7:Windows Media Audio 7

  • WMA 8:Windows Media Audio 8

  • WMA 9:Windows Media Audio 9

  • WMA 10:Windows Media Audio 10

  • MP3:ISO/MPEG第三层

    • 输入:ISO/MPEG第三层数据流

    • 频道配置:单声道、立体声

    • 采样频率:8,11.025,12,16,22.05,24,32,44.1和48 kHz

    • 比特率:8-320 kbps,可变比特率

    • 限制:“自由格式模式”(见ISO/IEC 11172-3,第2.4.2.3款)不受支持


测试您的视频文件是否与Silverlight兼容的一种非常简单(但有点暴力)的方法是将其上载到,它会告诉您是否正常。

Edward,根据您的XAML检查:1)WMV文件是否采用了适当的编码格式,2)WMV文件位于您的XAP文件所在的旁边(我会先检查一下)。

我也遇到了同样的问题,我没有找到正确的配置来正确引用视频文件。如果我通过源“vid1.wmv”引用我的视频并将其设置为内容,它会打包到xap文件中,但视频不会播放

正如TimHeuer所说,检查视频文件是否与.xap文件位于同一位置

如果我将视频文件直接复制到web项目的ClientBin,它就可以工作了。
这是我的解决方案,但我真的很想知道如何正确地完成。我有一个类似的问题。我将wmv文件作为一个现有对象添加到Silverlight项目中,然后在wmv文件的属性上,我将其构建操作设置为Resource。一旦我这样做,它将为我播放。

这非常烦人,但是而且,如果右键单击媒体文件和属性并将其设置为“内容”构建操作,它将包含在XAP中,然后使用/myPic.jpg/wmv或/Images/myPic.jpg/wmv引用它(显然取决于项目的结构和vid或pic)。希望这对您有所帮助。

引用的媒体文件需要位于
ClientBin
文件夹中。对于Silver light 4.0,您不仅可以使用
.wmv
,还可以使用
.mp4
格式。

可能语法正确,但在找到正确的编解码器或阻止框架播放媒体时遇到问题。您确定video文件被复制到bin/Debug目录?是的,我将其切换为“始终复制”,我尝试了一个.avi文件和一个.wmv文件,将它们移到根目录下并进行了尝试,始终为空,没有声音.Hmmmm。我尝试了一个.avi和.wmv文件,还有其他想法吗?如果没有任何特殊的编解码器,什么方法可以确保工作?当您F5时,输出窗口中是否有任何内容?