分类文章存档: Flash编程

SWFObject 一款JavaScript的Flash检测与插入模块

今天开始AzaAjaxChat的视频聊天模块,拖FMS的福,实现起来很轻松,不过后来在JavaScript和Flash的交互上遇到了问题。

Flash在各个浏览器中的实现始终是个麻烦的事情,什么Object Embed~,似乎没有什么标准的格式,一般都要做一些浏览器Hack,我对这些深痛恶绝,在泡了一下午前端相关的论坛后,偶然发现一款JavaScript交互的神器。

SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块

SWFObject是一个用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。该模块中的JavaScript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的 HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。
(即:通过text/html应答页面, 而非application/xhtml+xml)

官方在Google Project Host中,下载的代码包中有一个简单的Example,也包含了SWFObject的源码,感兴趣的同学可以研究一下。

相关链接:

swfobject – Project Hosting on Google Code

SWFObject中文的帮助文档

如果你也像我这样为Flash发愁,不妨试试这个小巧的js~

FMS的80端口占用

AzaAjaxChat 的语音聊天需要使用的Flex的流媒体传输,我在评估的方案有两套:1.使用原声Socket在客户端进行连接,2.使用FMS 流媒体服务器进行数据传输。

FMS (Flash Media Server)在安装时候,有一个选项是端口使用哪个,默认是1935 和 80端口,安装之后发现在使用两个Apache在80端口发生冲突(FMS使用的也是Apache服务器),需要将这个端口修改。

Google后,发现修改 Flash Media Server 3\conf\fms.ini 删除80留下1935即可。

# IP address and port(s) Flash Media Server should listen on
# For example:
#    ADAPTOR.HOSTPORT = :1935,80
#
ADAPTOR.HOSTPORT = :1935

唔~继续搞鼓Flex的流媒体传输了,头疼蛋大啊。。。

相关链接:Flash Media Server 开发版下载,容量有上线,支持10个用户并发操作

Flex Builder3中的launch path设置

在Flex Builder3中,想运行或者调试一个Flex项目,有Run/Debug/Profile三种运行方式。当我点击这三种方式的按钮时,都会报出一下警告:

Flash Player Not Found
Flex Builder cannot locate the required version of Flash Player. You might need to install Flash Player 9 or reinstall Flex Builder.
Do you want to try to run your application with the current version?

大意就是说没有找到Flash Player,有两个选项Yes/No。如果是Yes,则开启FireFox打开一个html页面,其中内嵌着swf文件。这个警告框还给出一个”Adobe Flash Player downloads”的下载链接。我下载安装后依然无法解决这个问题。

每次点一下倒并不是很麻烦,可恶的是如果这样,就无法对项目进行调试,trace()输出也不会在Console输出。

经过我尝试,我发现问题其实是出在项目的执行方式上,修改一下几个地方就可以了。

阅读全文 »

PylexChat可行性分析

PylexChat介绍

PylexChat取名自Python+Flex+Chat部 分缩写,这就意味着这个系统是基于Python+Flex的聊天系统。之所以做这个系统,源自我大学的最后一次课程设计,我不想浪费这最后一次可以供我发 挥自己想象力的机会。年后估计要参加工作了,毕业设计也不敢做这么有想法的课程设计。那就最后一次潇洒一下,做一个我完全没有接触过的东西。

我几乎不会Python,是最近一个月迷上这门强悍而简单的语言,我完全不会Flex,是最近1周时间才开始接触Flex。这意味着这次课程设计的 风险挺大。我花了几天的时间做了详细的可行性分析,分析了系统框架和GAE能够提供的服务和限制以及Flex/AIR能做的内容,否决了几个方案,最后总 结了一篇简单可行性分析(本文是一周时间慢慢形成的,并没有遵循正规的开发文档风格)。

几个基本的概念

内容出自维基百科

阅读全文 »

在Eclipse3.5下使用Flex Builder 3

这次课程设计是我大学最后一次了,毕业设计会需要谨慎,所以这次课程设计我决定做一个新潮的系统。

我将系统命名为PylexChat,是一个基于Python+Flex的聊天系统,架构在GAE+AIR环境,支持多平台(Windows+Linux+Web+手机)客户端登录。开发IDE为Eclipse+Flex Builder3插件,我的Eclipse Gelileo(v3.5)。在安装Flex Builder 3过程中就弹出需要3.4一下环境,我没在意,继续安装了。

安装之后出现了问题,Eclipse插件根本没有加载,我在Getting Flex Builder 3 plugin to survive a new Eclipse Version找到了相应解决方案。

Eclipse\links\目录下面建立com.adobe.flexbuilder.feature.core.link文件,编辑内容为d:/Study/Flex Builder 3 Plug-in(记得修改目录),这样就可以正常加载并编写项目了。

在使用过程中,如果代码没有写好,会出现An internal error occurred during: "Removing compiler problem markers...".这样的提示,此时无论我做如何动作,保存代码/清理项目/新建文件,都会出现如上错误,根本没法继续。经过我尝试,除了将项目删除重新建立,没有其他的办法彻底解决这个问题。

这里有一个Adobe 官方论坛的讨论帖http://forums.adobe.com/thread/90415,似乎这个问题在当时Flex Builder 2就出现,现在出现在Eclpse 3.5 + Flex Builder 3下面。

看来得等Flex Builder3之后的版本发布才能修复这个Bug,否则的话,还是得换回Eclpse 3.4……

悲剧了,我刚使用Galileo一周时间……