Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用AxWindowsMediaPlayer从网络以编程方式加载视频文件_C#_Video_Httpserver_Axwindowsmediaplayer - Fatal编程技术网

C# 使用AxWindowsMediaPlayer从网络以编程方式加载视频文件

C# 使用AxWindowsMediaPlayer从网络以编程方式加载视频文件,c#,video,httpserver,axwindowsmediaplayer,C#,Video,Httpserver,Axwindowsmediaplayer,操作系统:Windows 8.1 应用程序:Windows Media Player 12 IDE:VisualStudio2012 我有一个C客户端应用程序,它连接到另一台机器上的服务器应用程序。服务器应用程序向客户端应用程序提供通过http服务器托管的视频文件的名称,该服务器也在远程计算机上运行。然后,客户端应加载该远程视频文件并播放它。因此,与我在网上找到的所有示例教程不同,用户不需要打开文件对话框来选择文件;文件名在运行时通过代码提供 客户端应用程序正在使用Winforms,因此我使用A

操作系统:Windows 8.1 应用程序:Windows Media Player 12 IDE:VisualStudio2012

我有一个C客户端应用程序,它连接到另一台机器上的服务器应用程序。服务器应用程序向客户端应用程序提供通过http服务器托管的视频文件的名称,该服务器也在远程计算机上运行。然后,客户端应加载该远程视频文件并播放它。因此,与我在网上找到的所有示例教程不同,用户不需要打开文件对话框来选择文件;文件名在运行时通过代码提供

客户端应用程序正在使用Winforms,因此我使用AxWindowsMediaPlayer控件来完成此操作。问题是它似乎无法从提供的url加载文件

例如,我有一行代码:

this.axWindowsMediaPlayer.URL = "http://192.168.10.100:80/testVideo1.mp4";
当我运行它时,它会出现以下错误:

'Windows Media Player找不到该文件。如果您试图播放、刻录或同步库中的项目,该项目可能指向已移动、重命名或删除的文件。”

但是,如果我将相同的url插入浏览器窗口,文件会立即加载,并播放视频。另外,如果我将testVideo1.mp4复制到本地客户机上的工作目录中,并尝试用如下代码加载该文件:

this.axWindowsMediaPlayer.URL = "testVideo1.mp4";
好吧,这段代码很有效,视频也能播放。所以我知道这不是编解码器的问题,因为如果文件是本地的,可以从控件播放视频。我知道使用错误的url不会有问题,因为它可以在浏览器中工作


是因为Windows Media Player不发送http请求,因此http服务器无法处理该请求并将其转发到正确的文件夹吗?有没有办法通过AxWindowsMediaPlayer加载远程文件?我不希望先将文件下载到本地文件夹。

与其将URL传递给网站,不如让您的程序从HTTP网站下载文件,然后将其保存在临时本地文件中。将该本地文件的路径传递给AxWindowsMediaPlayer。

是的,已经作为临时措施这样做了,但这不是我要求的。事实上,我特别说过我不想这样做。192.168.10.100的HTTP服务器正在运行吗?如果是,则检查它是否工作,您可以从浏览器访问testVideo1.mp4。