一个通用的帖子,直到您提供一些额外的要求。
在 Flash 中,您将创建一个按钮,然后实现以下ActionScript
.
on (press) {
fscommand("Variable1", "Variable2");
}
然后在 Visual Studio 中,您需要添加COM Object
对Shockwave Flash Object
. 您需要确保您embed
设置为 true。
现在在 Visual Studio 中,您应该能够Properties
找到fscommand
允许您以物理方式连接 Flash 影片中的值的位置。
AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent
这将在 Flash 中收集您的变量。您只需使用e.command
ande.arg
例如让收集的项目做某事。如...
lbl_Result.Text="The " + e.args.ToString() + " " + e.command.ToString()+ " was clicked.";
现在,您可以将 Flash 电影的数据从 Flash 传输到 Visual Studio。这很简单,很直接。
这将允许您的 C# 应用程序实际继承和利用您的 Flash 视频。
要考虑的事情:
- 确保您已设置
embed
为 true。这就是将所有内容物理保存Path References
在您的 Flash 对象中的内容。否则可能会调用无效路径。
其他参考帮助:
- 在您的项目中打开
Solution Explorer
.
- 右键单击
Reference
和Add Reference
。
- 去
COM Object
。
这些是可用的对象:
Shockwave ActiveX
Flash Accessibility
Flash Broker
Shockwave Flash
上述解决方案将让您在其本机环境中实际使用 Flash,您只需简单地传递变量数据或您希望以这种方式在 C# 中实现的控件。这样,您实际上可以直接使用 RTMP 到 Flash。您的 C# 应用程序将只公开 Flash 对象。
这是一种通用方法,当您提供一些额外信息时,我会更新以尝试更好地为您提供帮助。还有一些库,例如 F-In-The-Box、LibRTMP,它们也可能有所帮助。
就像我说的那样,上面的内容非常通用;但它会调用您在 Flash 视频对象中记录的任何质量;那么你的 C# 可以像这样简单地调整它们:
<% MyYoutubeUtils.ShowEmebddedVideo("<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/gtNlQodFMi8&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/gtNlQodFMi8&hl=en&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object>") %>
或者...
public static string ShowEmbeddedVideo(string youtubeObject)
{
var xdoc = XDocument.Parse(youtubeObject);
var returnObject = string.Format("<object type=\"{0}\" data=\{1}\"><param name=\"movie\" value=\"{1}\" />",
xdoc.Root.Element("embed").Attribute("type").Value,
xdoc.Root.Element("embed").Attribute("src").Value);
return returnObject;
}
您可以在此处找到该主题:附加嵌入说明和详细信息。
这就是您可以将 Flash 放入 C# 的方式,也有一些方法可以将您的 C# 输出到 Actionscript。但是,如果没有更多关于你试图做什么的细节,我真的不能做更多的这些一般性的反应。
请记住,这是假设您尝试FLV
在应用程序中存储数据,或将数据从 C# 聚合到 Flash。我需要更多细节来提供进一步帮助。我不太确定为什么需要 C# 以及您实际尝试做什么。