2

我想从 ExpressionMediaPlayer 控件中流式传输驻留在网络服务器上的视频。以下导致网络错误。我相信问题出在我的 Uri 上。我在“ClentBin”文件夹中有视频。谁能告诉我这是怎么做到的?

private void videoList_SelectionChanged(object sender, SelectionChangedEventArgs e)
         {
             var selectedVideo = (Video)videoList.SelectedItem;        
             PlaylistItem item = new PlaylistItem();
            item.MediaSource = new Uri(@"/ClientBin/" + selectedVideo.FilePath,         UriKind.RelativeOrAbsolute);
            item.IsAdaptiveStreaming = false;
            ep.Playlist.Items.Add(item);
         }

谢谢!

4

1 回答 1

2

有许多因素会导致 Expression Media Player 中出现网络错误。以下是一些基本检查...

1. 检查视频文件本身 启动 Windows Media Player,转到文件 > 打开 URL... 并确保您可以使用绝对 URL 播放视频,以排除 Web 服务器的任何基本问题。(请注意,如果您使用的是自适应流式传输,则这不适用,而您似乎并非如此。)

2.selectedVideo.FilePath包含什么? 这是一个简单的文件名(即MyVideo.wmv)还是一个相对文件路径?正斜杠还是反斜杠?

3. 尝试使用绝对静态 URI 只是为了排除您的应用程序/Web 服务器/任何虚拟目录配置的相对路径问题,请尝试:

item.MediaSource = new Uri(@"http://mysite.com/ClientBin/MyVideo.wmv", UriKind.Absolute); 

4. 从 /ClientBin/ 中删除前导斜杠 尝试new Uri(@"ClientBin/" + selectedVideo.FilePath, UriKind.Relative);看看相对路径是否正确。

于 2010-03-30T22:14:27.043 回答