PresentationCore.dll

时间:2015-06-09 10:37:19

标签: c# wpf

我正在尝试从https网站运行视频,我在设置媒体元素的来源并调用mediaelement.play后收到此异常。

这是我的代码,

 <MediaElement Name="mediaElement1" LoadedBehavior="Manual" >


  mediaElement1.Source = new Uri("https://f60b7719060a37f20253-4343910d3bf76239b8a83e4f56d17dc5.ssl.cf2.rackcdn.com/mov-2015-05-25-22-01-53-a0731841b309b95209417646a2559d51077345cb.mp4");

                //mediaElement1.LoadedBehavior = MediaState.Play;
                mediaElement1.Play(); 

类型

的第一次机会异常
  

'System.NullReferenceException'

发生在PresentationCore.dll

请帮忙吗?苦苦挣扎了一整天,但没有运气。

我使用webclient实现了相同的功能,将文件下载到temp文件夹并尝试从该位置播放。但它在我的机器上工作,在某些机器上由于缺乏许可而无法工作。

这是我的解决方法

    private readonly WebClient _webClient = new WebClient();
  private string fileName ;
private string tempPath ;

 private void BtnPlay_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                tempPath = Path.GetTempPath();

                _webClient.DownloadFileCompleted += webClient_DownloadFileCompleted;

 var uri = newnew Uri("https://f60b7719060a37f20253-4343910d3bf76239b8a83e4f56d17dc5.ssl.cf2.rackcdn.com/mov-2015-05-25-22-01-53-a0731841b309b95209417646a2559d51077345cb.mp4", UriKind.RelativeOrAbsolute);
                        fileName = tempPath + uri.Segments[1];
if (!File.Exists(fileName))
                            _webClient.DownloadFileAsync(uri, fileName);
                        else
                        {
                           mediaElement.Source = new Uri(fileName, UriKind.Absolute);

                            if (mediaElement.LoadedBehavior != MediaState.Play)
                                mediaElement.Play();

                        }


            }
            catch (Exception ex)
            {


            }

        }
 void webClient_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
        {
                mediaElement.Source = new Uri(fileName, UriKind.Absolute);
                if (mediaElement.LoadedBehavior != MediaState.Play)
                    mediaElement.Play();

        }

它不能在某些机器上工作(temp文件夹)没有写入权限 提前谢谢。

0 个答案:

没有答案