如何在visual studio c#中获取资源的URL?

时间:2015-05-22 10:14:15

标签: c# winforms

我正在制作一个simplePlayer WindowsForm。为了播放视频,我需要提供网址

axWindowsMediaPlayer1.URL = @"C:\Users\Stephan\Desktop\trasa-1250.wmv";

现在我需要使用相对路径或将它们添加为资源并获取该资源的URL但我不知道该怎么做:

wplayer.URL = Resources.trasa_1250.

我尝试过使用

axWindowsMediaPlayer1.URL = @"~\trasa-1250.wmv";

 axWindowsMediaPlayer1.URL = @".\trasa-1250.wmv";

但打印@“〜\ trasa-1250.wmv”;和@。\ trasa-1250.wmv“;按原样打印它们而不替换〜或。

2 个答案:

答案 0 :(得分:2)

要获取文件的绝对路径,通过提供相对于当前目录的名称,您可以使用:

string filename = "trasa-1250.wmv";
string path = Path.GetFullPath(filename);

为了完整起见,要从中创建一个实际的Url:

string url = new Uri(path).AbsoluteUri;

您无法为嵌入式资源创建网址,除非您将播放器编程为接受自定义网址方案(例如,允许"资源://assemblyName.namespace.resourceName&#34 ;)并正确处理它。

一种常见的替代方法是让调用者提供从中读取媒体的Stream - 让他们决定如何访问资源。

答案 1 :(得分:1)

这是一个有用的教程:

https://www.youtube.com/watch?v=nF-HYoTurc8

你也可以得到这样的网址:

   Uri MyUri = new Uri(@"/Resources/trasa-1250.wmv", UriKind.Relative);