0

在如下窗口中播放 .SWF 文件时,我注意到它不需要任何相对路径。

下面所做的是,每次打开 PlayVideo 表单对话框时,它都会加载一个我正在使用全局变量跟踪的新视频:GlobalVariablesTracking.videoTrack并在成功加载视频后递增它。

private void PlayVideo_Load(object sender, EventArgs e)
 {
   CurrentVideoKey = GlobalVariablesTracking.videoTrack;
   currentVideoName = ConfigurationManager.AppSettings[CurrentVideoKey.ToString()];

 if (!String.IsNullOrEmpty(currentVideoName))
   {
     GlobalVariablesTracking.videoTrack = GlobalVariablesTracking.videoTrack + 1;
    axShockwaveFlash1.Movie = "\\Videos\\" + currentVideoName;
    axShockwaveFlash1.Play();                
   }
 }

以下是我读过的钥匙App.Config

<add key="1" value="a.swf"/>
<add key="2" value="b.swf"/>
.....

我在行中遇到的问题:

axShockwaveFlash1.Movie = "\\Videos\\" + currentVideoName;

它不需要相对路径。如果如下指定完整的绝对路径,则它可以完美运行。

axShockwaveFlash1.Movie = "C:\\Videos\\" + currentVideoName;

如何让这个 ShockWave flash 对象与相对 URL 一起工作?

4

1 回答 1

0

终于得到了这个工作。

解决方案是使用Application.StartupPath其余的相对路径并将其附加到它。

axShockwaveFlash1.Movie = Application.StartupPath +"\\Videos\\"+ currentVideoPath;

这篇MSDN 文章真的很有帮助。

于 2013-08-30T06:32:31.987 回答