我正在制作一个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“;按原样打印它们而不替换〜或。
答案 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);