【问题标题】:Windows Phone 8 WPF MediaElement not playing videoWindows Phone 8 WPF MediaElement 不播放视频
【发布时间】:2015-02-22 14:01:34
【问题描述】:

我在我的 Windows Phone 8.1 应用程序中创建了一个 MediaElement,我正在尝试播放一个 mp4 视频。当我按下按钮播放视频时,它会显示视频的第一帧(启动画面),但它永远不会超过那个,它看起来像一张静止的图片。我可能做错了什么?我的 MediaFailed 方法也没有收到任何错误。

private void openButton_Click(object sender, RoutedEventArgs e)
{
shakeImage.Visibility = Visibility.Collapsed;
        timer.Stop();
        timerReset.Stop();
        rotateImage.Stop();


        mediaElement.Stop();
        Uri explosion = new Uri(BaseUri, "Explode.mp4");
        mediaElement.Source = explosion;
        mediaElement.Play();
        mediaElement.MediaFailed += mediaElement_MediaFailed;

}

void mediaElement_MediaFailed)object sender, ExceptionRoutedEventArgs e)
{
throw new FileNotFoundException();
}

【问题讨论】:

    标签: c# windows-phone-8 video


    【解决方案1】:

    如果您正在通过手机播放音频文件,您应该像这样将“UriKind”更改为“Relative”

     Uri explosion = new Uri( "Explode.mp4",UriKind.RelativeOrAbsolute);
    

    // 或者你可以这样使用

    Stream stream = isoStore1.OpenFile("Explode.mp4", System.IO.FileMode.Open, System.IO.FileAccess.Read );
    
                    this.mediaElement.Stop();
                    this.mediaElement.SetSource(stream);
    mediaElement.Play();
    

    stream.Close();

    【讨论】:

    • 我正在播放带音频的视频文件,但使用的是 Uri explode = new Uri("Explode.mp4",UriKind.RelativeOrAbsolute);给了我一个论点例外。对于第二种方法,它声称不存在带有一个参数的 SetSource 函数。另外,isoStore1 是什么?
    【解决方案2】:

    原来这是因为 Windows Phone 8 对文件格式很挑剔,即使它们不正确也不会抛出错误。我将它转换为某种 wmv 类型,它现在似乎可以工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多